我的数据集按RunID分组,患者的每个诊断都有不同的行。
我正在尝试创建一个新变量,以确定特定诊断(例如肺炎)是否出现在该RunID内的任何行上。
我尝试使用任何,但收到错误消息Caused by warning in
any(): ! coercing argument of type 'character' to logical
有什么建议吗?我试过的是:
data %>%
group_by(RunID) %>%
mutate(Pneumonia = ifelse(any(diagnosis="Pneumonia"),1,0))
复溶:
library(tibble)
library(dplyr)
data <- tribble(
~RunID, ~diagnosis,
"A12", "Pneumonia",
"A12", NA,
"A12", "copd",
"A12", "CF",
)
data$RunID<-as.factor(data$RunID)
desired <- tribble(
~RunID, ~diagnosis, ~Pneumonia,
"A12", "Pneumonia", 1,
"A12", NA, 1,
"A12", "copd", 1,
"A12", "CF", 1
)
1条答案
按热度按时间toe950271#
在
any(diagnosis="Pneumonia")
中,我们可能需要==
而不是=
,但也可以这样做