我有一个数据集,每个人都有一行具有特定的ID号,以及一个由字母和数字组成的因子代表不同的诊断代码。现在我想基于id是否具有诊断代码来创建二分变量使用ifelse
diag<-c("G45", "C25", "1700", "1710", "1800", "G46")
id<-c("id1", "id2", "id3", "id4", "id5", "id6")
data<-data.frame(diag, id)
data$disease1<- ifelse(grepl("^1700-^1710|G45", data$diag), 1, 0)
table(data$disease1)
> table(data$disease1)
0 1
5 1
表格功能的结果显示G45为1。
如何提取仅包含数字的因子以及混合的数字和字母?