我有一个包含100行和10列的数据帧,我想知道如何将所有100行合并为一行?感谢。
mydata=seq(1,1000)
mydata=as.data.frame(matrix(mydata,nrow = 100,ncol = 10,byrow=T))
the result should be like this:(just a single row)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ……
答案 0 :(得分:3)
矩阵是按列索引的,所以我猜你可能只需要转置数据,然后从中构建一个新的矩阵:
matrix(t(as.matrix(mydata)), nrow = 1)
或者您可以在转置后将其转换为矢量,具体取决于您的需要:
as.vector(t(as.matrix(mydata)))
答案 1 :(得分:1)
我们可以获取transpose
并连接到vector
。请注意,transpose
会转换为matrix
,而无需致电as.matrix
。
as.vector(t(mydata))
或者我们可以在将行拆分成列表后使用unlist。
unlist(lapply(seq_len(nrow(mydata)), function(i) mydata[i,]))