首页 > 解决方案 > 是否有一个 R 函数可以通过创建更多行但不丢失数据来组合同名的列?

问题描述

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

例如:1

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

标签: rmergepipe

解决方案


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

将通过 colnames 生成一个列表

假设所有列的长度相同,as.data.frame 将生成一个 data.frame。


推荐阅读