【问题标题】:is there an R function to combine Columns of the same name by creating more rows but not losing data?是否有一个 R 函数可以通过创建更多行但不丢失数据来组合同名的列?
【发布时间】:2020-05-07 22:12:17
【问题描述】:

我正在寻找一种合并列但不删除数据的方法。我有一个 1x30 的 daratrame。列名在整个 df 中重复。我想组合数据,以便所有名称相同的列都在同一列中,但有多行。我正在尝试通过管道输入并一直在尝试 merge() 但我似乎无法让它工作。

例如:1

我想合并萨尔瓦多列,但添加一行,因此 r1 有 18,r2 有 2036,等等。

【问题讨论】:

  • 欢迎来到 SO。请包括此处建议的可重现问题How to ask1How to ask2 包括您的数据(作为数据框对象或使用 dput("yourdata")、您尝试过的代码和您的预期输出。这将使它更有可能得到一个很好的答案。

标签: r merge pipe


【解决方案1】:
df <- as.data.frame(as.list(rnorm(40)))
names(df) <- sample(c("a","b","c","d","e"),size = 40,replace=TRUE)
df

这与您的数据类似吗? (这是不正常的,因为数据框通常看起来不是那样的。

然后

split(as.numeric(df[1,]),colnames(df))

将按列名生成一个列表

如果所有列的长度相同,那么 as.data.frame 会生成一个 data.frame。

【讨论】:

    猜你喜欢
    • 2019-02-04
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2014-01-30
    • 1970-01-01
    相关资源
    最近更新 更多