【发布时间】:2016-10-02 00:56:36
【问题描述】:
我有一个类似这样的 data.table,但列更多:
library(data.table)
the_dt = data.table(DetailCol1=c("Deets1","Deets2","Deets3","Deets4"), DetailCol2 = c("MoreDeets1","MoreDeets2","MoreDeets3","MoreDeets4"), DataCol1=c("ARP","AARPP","ABC","ABC"), DataCol2=c("ABC","ABC","ABC","ARPe"), DataCol3 = c("ABC", "ARP", "ABC","ABC"))
我只想检索那些包含与字符串“ARP”匹配的行的 DetailCol1。
This question 在将我指向 like 时很有用,但我仍然不确定如何为多个列执行此操作,尤其是如果我想在其中搜索几十个列。
例如,这就是我在 DataCol1 中搜索的方式
the_dt[DataCol1 %like% 'ARP',DetailCol1],但是如何在 DataCols 1-100 中进行相同的搜索?
【问题讨论】:
-
This question 可能会有所帮助。参考grep
-
如果你在所有 'DataCol's 上应用这个 %like% ,在这个例子中,预期的输出是什么
-
Varontron,如果我可以避免在 data.table 中使用 with=F,grepping colnames() 可能会很有用...
-
Akrun,在上面的代码中,我会得到 deets1 和 deets2。如果有意义的话,对所有数据列应用相同的搜索也应该返回 deets 4。
-
你可能想
melt你的data.table,这样你就可以只搜索一列...
标签: r data.table