R提高篇(一): 输入输出

目录:

  • 文本输出
  • 图形输出
  • 数据输入
  • 数据框输出
  • 文本导入
  • Excel导入

文本输出


  • 语法: sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)
    1. 默认情况,如果文件已经存在,则内容会被覆盖,如果 append = TRUE 可以将文本追加到文件后
    2. split = TRUE 可将输出同时发送到屏幕和输出文件中
    3. sink():结束重定向
  • 示例代码:
    setwd("E:\R")
    sink(file = "hello.txt",append = TRUE)
    cat("Test Sink output")
    sink()
  •  注意:sink()对图形输出没有影响

图形输出


  • 图形输出使用如下的函数,最后使用dev.off()将输入结果返回终端
  • 矢量图形(PDF,PostScript,SVG), 位图(PNG,JPEG, TIFF)
  • 示例代码:
    pdf("demo.pdf")
    png("demo1.png")
    attach(mtcars)
    plot(wt,mpg)
    title("pdf graphics demo")
    detach(mtcars)
    dev.off()

数据输入 


  • 通过键盘输入数据两种常见方式:R内置的文本编辑器和代码中直接嵌入数据
  • 通过edit()函数会自动调用一个允许手工输入数据的文本编辑器
  • 示例代码:
    mydata <- data.frame(name=character(0),age=numeric(0),weight=numeric(0))
    mydata <- edit(mydata)
  •  执行代码,弹出编辑器如下图:

  • 关闭弹出框后,查看mydata结果如下:
    > mydata
      name age weight
    1 张三  12     42
    2 李四  14     56
    > 

数据框输出


    • 上例中将mydata 数据框对象保存本地 .rda文件,同时加载数据代码示例如下:
    • save(mydata,file = "mydata.rda")
    • 如下图:
    • 加载本地mydata.rda文件示例代码如下:
      > remove(list=ls())
      > load(file = "mydata.rda")
      > mydata
        name age weight
      1 张三  12     42
      2 李四  14     56

文本导入


  • read.table() 从带分隔符的文本文件中导入数据,生成数据框对象
  • 示例代码:
    mydata <- read.table("d:\data.txt",col.names = c("region","Name"))
    mydata
  •  导入文件后结果如下:

 

  • 导入注意事项:
    1. 导入时默认把字符变量转化为因子,若不希望这样,则设置:stringAsFactors = FALSE
    2. 若对导入的每一列指定一个类,可使用 colClasses , 如:colClasses = c("character","character","numeric")

Excel导入


  • 方法一:将Exce导出为逗号分隔的csv文件,使用read.table()导入数据
  • 使用xlsx包直接导入Excel工作表(需要先安装xlsxjars和rjava包
    1. 在线安装 xlsx 包: install.packages("xlsx")
    2. 示例代码:
      library(xlsxjars)
      library(xlsx)
      mydata <- read.xlsx("work.xlsx",sheetIndex = 1)
      mydata
    3.  

原文地址:https://www.cnblogs.com/tgzhu/p/5941073.html