我有一个数据框:
dat <- data.frame(X1 = c(0, NA, NA),
X2 = c(1, NA, NA),
X3 = c(1, NA, NA),
X4 = c(1, 5, 8),
X5 = c(2, 6, 4),
X6 = c(3, 3, 3))
我想对 X4
、X5
和 X6
行求和以获得总分。但是,这些列中任何高于 6 的数字都必须计为 7,然后才能与其他列相加以获得总分。
执行此操作的简洁方法是什么?
谢谢!
最佳答案
可能的解决方案:
dat$score <- rowSums(pmin(dat[4:6], 7))
dat
#> X1 X2 X3 X4 X5 X6 score
#> 1 0 1 1 1 2 3 6
#> 2 NA NA NA 5 6 3 14
#> 3 NA NA NA 8 4 3 14
关于r - 对具有特定条件的特定行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72746828/