【发布时间】:2020-03-12 09:15:24
【问题描述】:
我有一个如下的数据框:
structure(list(Value = c(1, 2, 3, 4), col1 = structure(c(1L,
1L, 2L, 2L), .Label = c("A1", "A2"), class = "factor"), col2 = structure(c(1L,
2L, 2L, 1L), .Label = c("B1", "B2"), class = "factor"), col3 = structure(1:4, .Label = c("C1",
"C2", "C3", "C4"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))
我想使用 data.table 将每列中的唯一值传播到不同的列,并在每列下粘贴总和值(来自“值”列) 例如:列 col1 有 2 个唯一值 A1 和 A2。 A1 之和为 3,A2 为 7 同样,列 col2 有 2 个唯一值 B1 和 B2。 B1之和为5,B2之和为5
此操作将针对 col1、col2 和 col3 中的每一列执行。
预期输出如下
structure(list(A1 = 3, A2 = 7, B1 = 5, B2 = 5, C1 = 1, C2 = 2,
C3 = 3, C4 = 4), class = "data.frame", row.names = c(NA,
-1L))
如何在 R 中实现这一点?
【问题讨论】:
标签: r dataframe data.table