我想使用该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"
Run Code Online (Sandbox Code Playgroud)
现在当我想用文件写入文件时
write(data,"data.txt")
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说
cat中的错误(列表(...),文件,sep,fill,labels,append):'cat'无法处理参数1(类型'list')
这显然是因为数据是一个列表,但我不明白为什么它是一个列表.我正在运行R 3.1.3
其实,你data
是一个data.frame
:
class(data)
# [1] "data.frame"
Run Code Online (Sandbox Code Playgroud)
问题是write
不能很好地处理数据框架,但可以使用矩阵:
write(as.matrix(data), "test.txt")
Run Code Online (Sandbox Code Playgroud)
如果要将数据帧写入文件,请使用write.table
:
write.table(data, "test.txt")
Run Code Online (Sandbox Code Playgroud)
错误消息来自底层cat
函数以及a data.frame
在概念上是相同长度的向量列表的事实.