我有一个带有 student_id 和 day 的 DF
student_id day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8
A_0001 P P P A P L P P
B_0001 A P P P P P L P
C_0001 P P P P P P A P
A_0002 P P P P P P P L
A_0003 P P L P P P P P
A_0005 P P P P P A P P
B_0002 P P P P L L P P
B_0004 P P P P L A P P
B_0005 P P P P P P L P
这里 P 存在,A 不存在,L 是离开 我想在最后创建一个列,每个学生只缺少 A 值。
我试过使用 for 循环但出现错误
你可以像这样使用
rowSums
:
library(dplyr)
df %>%
mutate(total_A = rowSums(. == 'A'))
#> student_id day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 total_A
#> 1 A_0001 P P P A P L P P 1
#> 2 B_0001 A P P P P P L P 1
#> 3 C_0001 P P P P P P A P 1
#> 4 A_0002 P P P P P P P L 0
#> 5 A_0003 P P L P P P P P 0
#> 6 A_0005 P P P P P A P P 1
#> 7 B_0002 P P P P L L P P 0
#> 8 B_0004 P P P P L A P P 1
#> 9 B_0005 P P P P P P L P 0
创建于 2023-03-09 与 reprex v2.0.2