R创建一个列表,而不是数据帧
我想使用R创建一个列表,而不是数据帧,r,R,我想使用write函数将数据帧写入文件,但这不起作用,因为data.frame()将其创建为列表 例如: data <- data.frame(cbind(1:2,3:4)) typeof(data) data # X1 X2 #1 1 3 #2 2 4 #> typeof(data) #[1] "list" 我听到一个错误说 cat(列表(…)、文件、sep、填充、标签、附加)中出错: 参数1(类型“list”)不能由“cat”处理 这显然是因为数据是一个列表,但我不明
write
函数将数据帧写入文件,但这不起作用,因为data.frame()
将其创建为列表
例如:
data <- data.frame(cbind(1:2,3:4))
typeof(data)
data
# X1 X2
#1 1 3
#2 2 4
#> typeof(data)
#[1] "list"
我听到一个错误说
cat(列表(…)、文件、sep、填充、标签、附加)中出错:
参数1(类型“list”)不能由“cat”处理
这显然是因为数据是一个列表,但我不明白为什么它是一个列表。我正在运行R3.1.3写.table(data,“data.txt”)怎么样?实际上,你的
数据
是一个数据框架
:
class(data)
# [1] "data.frame"
问题在于write
不能很好地处理数据帧,但可以处理矩阵:
write(as.matrix(data), "test.txt")
如果要将数据帧写入文件,请使用write.table
:
write.table(data, "test.txt")
错误消息来自底层的
cat
函数以及data.frame
在概念上是相同长度的向量列表这一事实 data.frame是相同长度的向量结构列表。您可以使用typeof(df)
查看它是否将df的类型(这里是一个示例data.frame)显示为“list”
您可以使用write.table将data.frame写入文本文件,如下所示:
write.table(df,“filename.txt”,sep=“\t”,row.names=FALSE)
那么这个解决方案与其他答案有何不同呢??write.csv可能就是您想要的。。。
write.table(data, "test.txt")