目录:
- 文本输出
- 图形输出
- 数据输入
- 数据框输出
- 文本导入
- Excel导入
文本输出
- 语法: sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)
- 默认情况,如果文件已经存在,则内容会被覆盖,如果 append = TRUE 可以将文本追加到文件后
- split = TRUE 可将输出同时发送到屏幕和输出文件中
- 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 导入文件后结果如下:
- 导入注意事项:
- 导入时默认把字符变量转化为因子,若不希望这样,则设置:stringAsFactors = FALSE
- 若对导入的每一列指定一个类,可使用 colClasses , 如:colClasses = c("character","character","numeric")
Excel导入
- 方法一:将Exce导出为逗号分隔的csv文件,使用read.table()导入数据
- 使用xlsx包直接导入Excel工作表(需要先安装xlsxjars和rjava包)
- 在线安装 xlsx 包: install.packages("xlsx")
- 示例代码:
library(xlsxjars)
library(xlsx)
mydata <- read.xlsx("work.xlsx",sheetIndex = 1)
mydata