我正在使用write()以这种方式将多行写入同一文件:
filename='out.txt'
write(c("\n\n","No of blues =", nrow(data1)), file=filename,append=FALSE)
write(c("\n\n","No of greens =", nrow(data2)), file=filename,append=Append)
write(c("\n\n","No of reds =", nrow(data3)), file=filename,append=Append)
Run Code Online (Sandbox Code Playgroud)
data1,data2和data3是变量名.
但是我遇到了以下错误:
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'list') cannot be handled by 'cat'
Run Code Online (Sandbox Code Playgroud)
对于这个问题,R有解决方案吗?
猜测,你正在尝试write数据框架.这是猜测,因为你给我们的线条应该有效.我不相信他们会给出错误.在这里提问的一个重要部分是自己做一些工作来找出错误的位置,并提供产生错误的自包含代码.像这样不:
Append=TRUE
filename='out.txt'
data1=data.frame(x=1:10)
data2=data.frame(y=1:3)
data3=data.frame(z=99)
write(c("\n\n","No of blues =", nrow(data1)), file=filename,append=FALSE)
write(c("\n\n","No of greens =", nrow(data2)), file=filename,append=Append)
write(c("\n\n","No of reds =", nrow(data3)), file=filename,append=Append)
Run Code Online (Sandbox Code Playgroud)
如果我运行它(如果你也运行),那么我不会收到错误.但试试这个:
write(c("\n\n","data 1 is ", data1), file=filename,append=Append)
Run Code Online (Sandbox Code Playgroud)
看起来像:
Error in cat(list(...), file, sep, fill, labels, append) :
argument 1 (type 'list') cannot be handled by 'cat'
Run Code Online (Sandbox Code Playgroud)
完全是你的错误.也许那就是你在做什么.我们不知道,因为我们没有任何代码来创建该错误.
如果要将数据帧写入文件,请使用write.table.