如何转换此数据集以不包含平衡



如果我有这样的数据集:

样本数据集

如何转换数据集以生成完全类似的内容?

我在找什么

我曾想过使用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))

最新更新