How to combine all rows into a single row? [closed

2020-03-31 05:29发布

I have a dataframe which has 100 rows and 10 columns, i wonder how I can merge all the 100 rows into just one row? Thanks.

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 ……

2条回答
姐就是有狂的资本
2楼-- · 2020-03-31 05:55

Matrix are indexed by column so I am guessing you may just need to transpose your data and then construct a new matrix from it:

matrix(t(as.matrix(mydata)), nrow = 1)

Or you can convert it to a vector after the transposing depending on what you need:

as.vector(t(as.matrix(mydata)))
查看更多
聊天终结者
3楼-- · 2020-03-31 06:05

We can get the transpose and concatenate to a vector. Note that the transpose converts to a matrix and there is no need to call as.matrix.

as.vector(t(mydata))

Or we can use unlist after splitting the rows into a list.

unlist(lapply(seq_len(nrow(mydata)), function(i) mydata[i,]))
查看更多
登录 后发表回答