📌  相关文章
📜  将所有列放在具有不同 ID 的 r 中的同一列中 (1)

📅  最后修改于: 2023-12-03 14:53:50.832000             🧑  作者: Mango

将所有列放在具有不同 ID 的 r 中的同一列中

如果您需要将所有列放在具有不同 ID 的 r 中的同一列中,可以使用以下方法。

方法1:使用dplyr包

可以使用dplyr包中的group_by和summarise函数来实现该功能。

library(dplyr)

r %>% 
  group_by(ID) %>% 
  summarise_all(list)

这将返回一个数据框,其中列被重新排列为仅包含一个列的多列,因此每个主键只有一行,并将每个列的值统计为列表。

方法2:使用reshape2包

也可以使用reshape2包中的melt和dcast函数来实现。

library(reshape2)

melted_r <- melt(r, id.vars = "ID")
dcast(melted_r, ID ~ variable, value.var = "value")

这将返回将所有列组合到单个列中的数据框,然后使用dcast将其重新转换回原始格式。

无论使用哪种方法,您都将获得具有相同行数并且列被组合到一个列中的数据框。

希望这有助于解决您的问题!