我正在尝试使用 which 作为嵌套的 grep 语句来实现。例如,如果我正在查找数据框中的所有肺数据,则可以简单地使用 which 语句来完成。
site <- c("lung", "breast", "colon","lung", "brain")
vals <- c(1:5)
df <- data.frame(site,vals)
> df[which(df$site=="lung"),]
site vals
1 lung 1
4 lung 4
但是如果我想使用 "lung" 的嵌套 grep 语句获得相同的结果,我不会得到第二个结果。有任何想法吗?
> df[which (grep("lung",df$site)==TRUE),]
site vals
1 lung 1
如果我想稍微扩展一下并分配一个列,比如“lung_flag”,它会在第 1 行和第 4 行的匹配项旁边放置一个类似“Y”的东西,最好如何做到这一点?