在R中的grep函数中使用字符
我有600个字符n我想应用grep函数,将它们全部应用到b在R中的grep函数中使用字符,r,R,我有600个字符n我想应用grep函数,将它们全部应用到b [1] "KO_2" "WT_3" "WT_4" "KO_6" "WT_7" "WT_8" "WT_9" "KO_10" "KO_11" "KO_12" "WT_13" "WT_14" [13] "WT_15" "KO_16" "WT_17" "KO_18" "WT_19" "WT_20" "WT_21" "WT_22" "WT_24"
[1] "KO_2" "WT_3" "WT_4" "KO_6" "WT_7" "WT_8" "WT_9" "KO_10" "KO_11" "KO_12" "WT_13" "WT_14"
[13] "WT_15" "KO_16" "WT_17" "KO_18" "WT_19" "WT_20" "WT_21" "WT_22" "WT_24" "WT_25" "WT_26" "WT_27"
[25] "WT_28" "WT_29" "WT_30" "KO_31" "KO_32" "KO_33" "KO_34" "WT_35" "KO_37" "KO_38" "WT_39" "KO_40"
[37] "KO_41" "KO_42" "KO_44" "KO_45" "WT_46" "KO_47" "KO_48" "WT_49" "KO_50" "KO_51" "KO_52" "WT_53"
[49] "WT_54" "KO_55" "KO_56" "KO_57" "WT_59" "KO_60" "KO_61" "WT_62" "KO_63" "KO_64" "KO_65" "WT_66"
n
[1] "KO_2" "KO_12" "WT_14" "KO_16" "WT_21" "WT_35" "KO_41" "KO_44" "KO_45" "KO_47" "KO_50" "KO_57"
[13] "WT_59" "KO_60" "KO_64" "KO_65" "KO_69" "KO_70" "KO_72" "KO_81" "KO_87" "KO_88" "WT_95" "WT_105"
b
[1] "KO_2" "WT_3" "WT_4" "KO_6" "WT_7" "WT_8" "WT_9" "KO_10" "KO_11" "KO_12" "WT_13" "WT_14"
[13] "WT_15" "KO_16" "WT_17" "KO_18" "WT_19" "WT_20" "WT_21" "WT_22" "WT_24" "WT_25" "WT_26" "WT_27"
[25] "WT_28" "WT_29" "WT_30" "KO_31" "KO_32" "KO_33" "KO_34" "WT_35" "KO_37" "KO_38" "WT_39" "KO_40"
[37] "KO_41" "KO_42" "KO_44" "KO_45" "WT_46" "KO_47" "KO_48" "WT_49" "KO_50" "KO_51" "KO_52" "WT_53"
[49] "WT_54" "KO_55" "KO_56" "KO_57" "WT_59" "KO_60" "KO_61" "WT_62" "KO_63" "KO_64" "KO_65" "WT_66"
要找出您所称的“模式”
n
在b
中的位置,您可以使用match
:
n <- c("KO_2","KO_12","WT_14","KO_16","WT_21")
b <- c("KO_2","WT_14","KO_12","WT_14","KO_44","KO_45","KO_47","WT_35","KO_41")
match(b,n)
[1] 1 3 2 3 NA NA NA NA NA
n您的请求能否更清楚一些?什么是“n”以及您希望实现什么?n是我的模式,我想检查它们是否存在于b中。我想获取此模式的索引-即它们在b中的位置。您是否需要哪个(b%in%n)
,因为我不认为这是模式匹配,而是完全匹配。您知道如何仅获取没有“字母”的索引吗?这是“仅索引”,字母只是向量的名称。如果你真的想摆脱它们,你可以做names(result)@RoB的解决方案很好也很聪明,但是需要注意输出:如果应用到我的数据,解决方案会更改匹配的值,如果它们多次匹配:unlist(sapply(n,function(l)(b==l)))KO_2 KO_12 WT_141 WT_142 1 3 2 4
;参见WT_141
和WT_142
n <- c("KO_2","KO_12","WT_14","KO_16","WT_21")
b <- c("KO_2","WT_14","KO_12","WT_14","KO_44","KO_45","KO_47","WT_35","KO_41")
match(b,n)
[1] 1 3 2 3 NA NA NA NA NA