我有一个数据框,其中一些变量名相同但值不同。我需要对这些值进行求和,并将原始值保留在单独的列中。
我期望以下内容,其中原始的
data <- data.frame(cod = c("A", "B", "C", "A", "A", "B"),
values = c(3, 4, 5, 1, 2, 5))
data
cod Values
A 3
B 4
C 5
A 1
A 2
B 5
我期望以下内容,其中原始的
Values
列保持不变,并将分组求和作为一个新列Values2
添加进去:> data2
cod Values Values2
A 3 6
B 4 9
C 5 5
A 1 6
A 2 6
B 5 9
data$Values2 <- with(data, ave(Values, cod, FUN = sum))
或者library(dplyr); data %>% group_by(cod) %>% mutateValues2 = sum(Values))
。 - akrun