【发布时间】:2021-08-17 08:09:25
【问题描述】:
我希望按 id 组添加值列,并将总计放在每个 id 的 type = total 的位置。 在下面的示例中,id = 1 的总数将为 5 而不是 NA,id = 2 的总数将为 17 而不是 NA。
可能存在不应包含在总和中的 NA 值。
df <- data.frame(id = c(1, 1, 1, 1, 2, 2, 2, 2), type = c('A', 'B', 'C', 'total', 'A', 'B', 'C', 'total'), value = c('1', NA, '4', NA, '5', '4', '8', NA))
id type value
1 A 1
1 B <NA>
1 C 4
1 total <NA>
2 A 5
2 B 4
2 C 8
2 total <NA>
这将是所需的输出:
id type value
1 A 1
1 B <NA>
1 C 4
1 total 5
2 A 5
2 B 4
2 C 8
2 total 17
据我所知,group_by() 是迈向答案的第一步?但我不确定如何使用组中的值将其分配给总数。也许 colSums()?
任何帮助将不胜感激,谢谢!
【问题讨论】: