更新时间:2023-12-03 19:16:58
df <- read.table(textConnection('id Disease1 Disease2 Disease3
01 disease1 NA disease3
02 NA disease2 NA
03 disease1 disease2 NA'),header=T)
library(dplyr)
df %>%
rowwise() %>%
mutate(Total_diseases=sum(!is.na(across(Disease1:Disease3)))) %>%
ungroup
它使用 accross
函数检查从疾病 1 到疾病 3.
it checks from Disease1 to Disease3 with accross
function.
输出;
id Disease1 Disease2 Disease3 Total_diseases
<int> <fct> <fct> <fct> <int>
1 1 disease1 NA disease3 2
2 2 NA disease2 NA 1
3 3 disease1 disease2 NA 2