美文网首页
R语言写入文件2021.2.24

R语言写入文件2021.2.24

作者: R语言_茶味先生 | 来源:发表于2021-02-24 16:17 被阅读0次

    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 写入再读取后出现两个行号

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

    • 在用read.table读取时加上sep参数
    x<-read.table("newfile1.csv",header=T,sep=",")
    
    图4 设置sep后冗余行号消失
    • row.names设置为FALSE,这种方式只可以消除R语言每次读取时自动生成的行号,但是对于原文件自带的行号则无能为力。
    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支持写入的其他软件格式

    相关文章

      网友评论

          本文标题:R语言写入文件2021.2.24

          本文链接:https://www.haomeiwen.com/subject/earsfltx.html