请在确定不包含指定字符的参与者列表后帮我拉主题id。例句:
数据:
df <- structure (list(subject_id = c("191-5467", "191-6784", "191-3457", "191-0987", "191-1245", "191-2365"), edta_codes = c("4EDTA-3M783316", "4EDTA-3M2897865", "4EDTA-M280934", "4EDTA-3M286549","MCF -3M289684", "NA")), class = "data.frame", row.names = c (NA, -6L))
测试字符是否在字符串中的代码:
df$edta_codes[!grepl("4EDTA-3", df$edta_codes)]
不同方法:
str_detect(df$edta_codes,"4EDTA-3")
都给了我想要的结果,但是从这里我想显示没有指定字符串的主题id,包括那些带有NA的主题id(即在这种情况下- 191-3457,191-1245,191-2365都与指定的字符不同)。我试过在上面每个代码之后使用pull,它们都不起作用。
请帮助。
你可以这么做,
df[!grepl("4EDTA-3", df$edta_codes),'subject_id']
#[1] "191-3457" "191-1245" "191-2365"
如果您想同时返回代码,那么,
df[!grepl("4EDTA-3", df$edta_codes),]
# subject_id edta_codes
#3 191-3457 4EDTA-M280934
#5 191-1245 MCF -3M289684
#6 191-2365 NA