从x
我有两列:
Gender Score
male 20
female 25
male 10
female 10
例如,在R中,如何将男性的总得分相加?
我们可以使用
library(dplyr)
x %>%
mutate(totalScore = sum(Score[Gender == "male"]))
如果“女性”应保留为NA
x %>%
mutate(totalScore = case_when(Gender == "male" ~ sum(Score),
TRUE ~ NA_real_))
对于两个“性别”都适用
x %>%
group_by(Gender) %>%
mutate(totalScore = sum(Score))
或在base R
中>
x['totalScore'] <- with(x, sum(Score[Gender == "male"]))
或选择性地为行添加
i1 <- x$Gender == "male"
x['totalScore'][i1] <- sum(x$Score[i1])