如何解释 write(mydata, "mydata.csv") 中的错误? "List" 不能被 "cat" 处理?

How to interpret error in write(mydata, "mydata.csv")? "List" cannot be handled by "cat"?

似乎有人 运行 遇到了类似的问题,here。然而,Jacob 的问题(两年前提出的)仍然没有答案。而且,那里的上下文和我的有点不同:

所以我试图将我的数据框导出到通常工作正常的 .csv 文件。但是,这一次,我 运行 进入以下错误消息:

write(mydata, "mydata.csv")

#error message:
Error in cat(x, file = file, sep = c(rep.int(sep, ncolumns - 1), "\n"), : argument 1 (type 'list') cannot be handled by 'cat'

现在我不会复制粘贴什么head(mydata) returns,因为我的dataframe比较大。数据和变量似乎没有问题,因为我可以正常使用它们。唯一的问题是我无法将它们导出到 .csv 文件(或任何其他格式)。

Chi Pak 上面的评论是正确的。要解决将数据框保存到 csv 的问题,请使用 write.csv 而不是 write

为了解决您的问题,出现错误消息是因为 write 是与 write.csv 完全不同的动物品种。如果您阅读帮助文件 ?write,它被描述为连接函数 cat 的包装器,它期望数据以原子向量的形式写出(或由 names()).

一个数据框的类型是list,你可以用typeof(mydata)来验证。这不是原子向量,导致 write 到 return 您遇到的错误。