如果我有这样的数据集:
样本数据集
如何转换数据集以生成完全类似的内容?
我在找什么
我曾想过使用pivot_langer((,但我真的不知道从哪里开始。
如果有人能帮忙,我们将不胜感激。
数据:
library(data.table)
df = data.table(groupA_avg=c(1,NA,2,NA), groupB_avg=c(NA,3,NA,4))
df
groupA_avg groupB_avg
1: 1 NA
2: NA 3
3: 2 NA
4: NA 4
你可以试试这样的东西:
rbind(df[!is.na(groupA_avg), avg:=groupA_avg][,"avg"], df[!is.na(groupB_avg), avg:=groupB_avg][,"avg"])
输出:
avg
1: 1
2: 3
3: 2
4: 4
5: 1
6: 3
7: 2
8: 4
附言:在你的情况下使用多个列
do.call("rbind", list(df[!is.na(groupA_avg), avg:=groupA_avg][,"avg"],
df[!is.na(groupB_avg), avg:=groupB_avg][,"avg"],
and so on with the other columns))