写在最前:
在R中处理后的数据多半储存在矩阵或数据框中,导出可以用记事本或者EXCEL打开的数据,可以方便文件的保存、分享,也可以作为其他的软件的输入文件
> df
name Chinese-1 Chinese:2 Chinese@3
1 zhang 98 78 56
2 Wang 78 66 23
3 Ming 84 29 45
4 Bai 100 93 75
write.table(x = df,
file = "output.xls",
sep = "\t",
col.names = TRUE,
row.names = FALSE,
quote = TRUE)
如果你想保存为xxx.csv
格式的输出,则需要设置分隔符为sep = ","
不对应的后果,会给他人or下次读入数据的你自己造成困扰
write.table函数默认:
col.names = TRUE
,将df的列名也写入文件。-
row.names = TRUE
,将df的行名也写入文件。这就会造成“窜列”的问题,因此这里设置成了row.names = FALSE
quote = TRUE
,将字符元素的内容用双引号引起来
有什么用呢?
当你的某一个元素中间很不巧的含有分隔符时,
- 用excel识别时,保证双引号“”内部的东西会被准确的放到同一个单元格中
- 下次用R读入数据时,也可以很精准的识别
如果存在缺失值,可以通过na = "NA"
参数将缺失值保存为字符串“NA”
> df
name Chinese-1 Chinese:2 Chinese@3
1 zhang 98 78 56
2 Wang 78 NA 23
3 Ming 84 29 45
4 Bai 100 93 75
write.table(x = df,
file = "output.xls",
sep = "\t",
col.names = TRUE,
row.names = FALSE,
quote = TRUE,
na = "NA")