【发布时间】:2017-11-14 11:51:54
【问题描述】:
对 R 非常陌生 拥有一个包含许多列的非常大的数据框(即避免使用循环来提高效率)。我想扫描多个列(例如 ss1:ss15)以查找字符向量(例如 c('9515','8231'))。如果其中任何一个为真/匹配,我将尝试在数据框中获取一个新列,如果该行中的任何一个为真,则值为 1,否则为 0。我被困在如何开始这件事上……
【问题讨论】:
-
as.integer(Reduce('|', lapply(df1[cols], grepl, pattern = paste(vect, collapse="|"))))或者如果是固定匹配as.integer(Reduce('|', lapply(df1[cols], '%in%', vect))) -
太棒了,你救了我这么多痛苦的挣扎,谢谢
标签: r