您的代码中有一些问题。
首先,C(dataframe1,dataframe2) 会产生错误,因为您使用了大写字母 C。
其次,c(dataframe1,dataframe2) 输出一个包含 5 个项目的列表。这不是数据框或矩阵。保存时,这将被强制转换为矩阵。任何缺少数据的行都将自动填充,这可能是您不想要的。这将导致您的代码输出:
1,1,1,1,1
2,2,2,2,2
3,3,3,3,3
4,4,4,4,4
5,5,5,5,5
6,6,6,1,1
7,7,7,2,2
8,8,8,3,3
9,9,9,4,4
10,10,10,5,5
这里的问题是您试图连接具有不同列数的两个不同数据帧。您可以将它们组合成一张大表并保存。但请注意,任何缺失的行数据都可能会被自动填充到您不想要的数据中(a 和 b 只有 5 行,而 xyz 有 10 行)。
write.table( cbind(dataframe1,dataframe2),
file = "dataframes.txt",
append = F,
sep = ",",
row.names = F,
col.names = T,
na="",
quote = F)
这将输出:
x,y,z,a,b
1,1,1,1,1
2,2,2,2,2
3,3,3,3,3
4,4,4,4,4
5,5,5,5,5
6,6,6,1,1
7,7,7,2,2
8,8,8,3,3
9,9,9,4,4
10,10,10,5,5
或者,如果您真的希望它们彼此叠加,您可以使用单独的调用并打开附加。
write.table( dataframe1,
file = "dataframes.txt",
append = F,
sep = ",",
row.names = F,
col.names = T,
na="",
quote = F)
write( "\n Next Dataframe \n", file = "dataframes.txt", append = T)
write.table( dataframe2,
file = "dataframes.txt",
append = T,
sep = ",",
row.names = F,
col.names = T,
na="",
quote = F)
Which will output:
x,y,z
1,1,1
2,2,2
3,3,3
4,4,4
5,5,5
6,6,6
7,7,7
8,8,8
9,9,9
10,10,10
Next Dataframe
a,b
1,1
2,2
3,3
4,4
5,5