【问题标题】:How to combine all rows into a single row in R? [closed]如何将所有行组合成R中的一行? [关闭]
【发布时间】:2016-07-15 02:35:39
【问题描述】:

我有一个包含 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 ……

【问题讨论】:

  • 您希望输出是什么样的?求和、连接、嵌套向量还是其他?
  • 我已经编辑了我的问题,谢谢。
  • as.data.frame(matrix(mydata, nrow = 1))?
  • 对不起,这不是正确的答案。
  • 那么也许您可以提供更多信息?我的建议在一行中包含您的所有数据。 (也许您可以提供更多 reproducible example 来更好地解释您的期望。)

标签: r matrix dataframe


【解决方案1】:

矩阵按列索引,所以我猜你可能只需要转置数据,然后从中构造一个新矩阵:

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

或者您可以根据需要在转置后将其转换为矢量:

as.vector(t(as.matrix(mydata)))

【讨论】:

  • 非常感谢! nrow=1 会把每一列变成一行,你太棒了。
  • 再次感谢。 as.vector 也可以,核心是转置,谢谢。
【解决方案2】:

我们可以得到transpose 并连接到vector。请注意transpose 转换为matrix,无需调用as.matrix

as.vector(t(mydata))

或者我们可以在将行拆分为列表后使用 unlist。

unlist(lapply(seq_len(nrow(mydata)), function(i) mydata[i,]))

【讨论】:

    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 2021-09-11
    • 2022-10-18
    • 2021-11-13
    • 2022-11-18
    • 1970-01-01
    相关资源
    最近更新 更多