【发布时间】:2021-06-09 11:01:49
【问题描述】:
我想从宽格式变为长格式,但保留计数值并分解列。我有这个:
variable LF1 LF2 LF3 LF4 LF5 Counts
A 1 0 0 0 0 5
A 1 0 1 0 0 1
B 1 0 0 1 0 3
B 1 0 0 0 1 2
B 1 0 0 0 0 1
C 1 0 0 0 0 8
D 1 1 0 0 0 6
D 1 0 1 0 0 4
我想要以下内容:
variable factor count
A F1 6
A F3 1
B F1 6
B F4 3
B F5 2
C F1 8
D F1 10
D F2 6
D F3 4
这意味着数据在汇总计数时同时转换为 long。 我已经尝试了所有我能在 reshape2 中想到的组合,但我没有想法,例如
data_grouped <- reshape2::melt(data, id.vars=c("variable"))
data_grouped <- reshape2::melt(data, id.vars=c("variable","LF1","LF2","LF3","LF4","LF5"))
我还看到通过连接以下内容可以得到类似的东西:
data %>% group_by(variable, LF1) %>% summarise(sum(counts))
data %>% group_by(variable, LF2) %>% summarise(sum(counts))
但这非常低效且不是理想的解决方案,因此我非常感谢您提供帮助。
【问题讨论】:
-
您能否提供一个数据示例?请参阅此处 r 页面顶部的说明:stackoverflow.com/questions/tagged/r