R语言写入文件2021.2.24

2021-02-24  本文已影响0人  R语言_茶味先生

1、写入文件

使用write函数或者cat函数。
cat函数:直接抓取数据显示在代码框中。
write函数:file指定文件生成位置,sep指定生成文件中数据的分隔符。可以将文件写入工作目录下的新文件中(若文件要建在别的位置则需要给出完整路径),文件是代码运行自动生成,不需要提前建好。

1.1 write函数

1.1将数据写入.txt文件

先读取数据赋值给x,再用write写入文件

x<-read.table("input.txt",header=T)
write.table(x,file="newfile1.txt")
图1 生成的.txt文件

1.2 将数据写入.csv文件(同一组数据生成两种不同的文件这也就意味着用read读入数据后再用write写出,可以实现.txt文件和.csv文件格式的转换)

x<-read.table("input.txt",header=T)
write.table(x,file="newfile1.csv",sep=",")
图2 生成的.csv文件

但是这样会出现首行错位的现象,因为R语言在读入文件时会默认在第一列从一开始编号,这样多次读取写入后,会出现许多行号。


图3 写入再读取后出现两个行号

这时可以通过两种办法解决

x<-read.table("newfile1.csv",header=T,sep=",")
图4 设置sep后冗余行号消失
write.table(x,file="newfile2.csv",sep=",",row.names=F)
图5 row.names设置前后对比

这种方法同时还可以避免写入的文件出现首行向量名称错位的情况


图6 首行错位

1.3. write函数的参数

1.3.1 quote参数

该参数用于去掉字符串双引号,write写入文件时字符串默认带双引号,要去掉的话则设置quote=FALSE

1.3.2 append参数

用于对已经生成好的数据,在不覆盖原先数据的情况下在尾部追加数据,append=TRUE则是追加到文件结尾,反之则为覆盖原文件。

图7

1.3. write写入压缩文件

将数据写入压缩文件内

write.table(mtcars,gzfile("newfile1.txt.gz"))
图8 生成的压缩文件

1.4 write写入其他软件格式文件

也是用到foreign包


图9 目前R支持写入的其他软件格式
上一篇下一篇

猜你喜欢

热点阅读