我有这个数据帧,我想计算VAL1-VAL3中的一个值,如果它在T1-T5中,则求和

VAL1 <- c(1,3,2,4,9)
VAL2 <- c(5,6,3,1,2)
VAL3 <- c(7,5,5,9,5)
T1   <- c(4,2,6,4,8)
T2   <- c(10,1,2,9,9)
T3   <- c(6,8,6,3,2)
T4   <- c(5,4,2,4,1)
T5   <- c(9,7,8,4,5)

df<- data.frame(VAL1,VAL2,VAL3,T1,T2,T3,T4,T5)`
VAL1 VAL2 VAL3 T1 T2 T3 T4 T5
1 5 7 4 10 6 5 9
3 6 5 2 1 8 4 7
2 3 5 6 2 6 2 8
4 1 9 4 9 3 4 4
9 2 5 8 9 2 1 5

所需输出,新列RESULT1-RESULT3(相同的DF):

VAL1 VAL2 VAL3 T1 T2 T3 T4 T5 RESULT1 RESULT2 RESULT3
1 5 7 4 10 6 5 9 0 1 0
3 6 5 2 1 8 4 7 0 0 0
2 3 5 6 2 6 2 8 2 0 0
4 1 9 4 9 3 4 4 3 0 1
9 2 5 8 9 2 1 5 1 1 1

我该怎么做?

推荐答案

您可以try :

library(dplyr)

df |>
  mutate(across(VAL1:VAL3, ~ rowSums(pick(T1:T5) == .x), .names = "RESULT_{seq_along(col)}"))

  VAL1 VAL2 VAL3 T1 T2 T3 T4 T5 RESULT_1 RESULT_2 RESULT_3
1    1    5    7  4 10  6  5  9        0        1        0
2    3    6    5  2  1  8  4  7        0        0        0
3    2    3    5  6  2  6  2  8        2        0        0
4    4    1    9  4  9  3  4  4        3        0        1
5    9    2    5  8  9  2  1  5        1        1        1

R相关问答推荐

通过绘图 Select 线串几何体并为其着色

在特定列上滞后n行,同时扩展框架的长度

单击 map 后,将坐标复制到剪贴板

从嵌套列表中智能提取线性模型系数

基于现有类创建类的打印方法(即,打印tibles更长时间)

为什么st_join(ob1,ob2,left = True)返回具有比ob1更多功能的sf对象?

在df中保留原始变量和新变量

从多个线性回归模型中提取系数

R如何计算现有行的总和以添加新的数据行

自动STAT_SUMMARY统计与手动标准误差之间的差异

防止在更新SHINY中的Reactive Value的部分内容时触发依赖事件

使用来自嵌套列和非嵌套列的输入的PURRR:MAP和dplyr::Mariate

如何预测原始数据集并将值添加到原始数据集中

以任意顺序提取具有多个可能匹配项的组匹配项

使用函数从R中的列中删除标高

R-使用stri_trans_General()将其音译为德语字母

从两个数据帧中,有没有办法计算R中一列的唯一值?

修复标签重叠和ggploy内的空间

使用点图调整离散轴比例

如何在给定的环境中找到函数的函数参数?