R写入数据之write.table函数

写在最前:

在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下次读入数据的你自己造成困扰

正确输出的output.xls

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")

正确识别了缺失值

散会!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容