【发布时间】:2020-02-21 19:49:04
【问题描述】:
寻求帮助以找到将字符串向量传递到 select 语句的方法。我想将数据框子集化为仅输出包含与我的向量相同的字符串的变量。我不希望它完全匹配,因此需要传递像 contains 这样的函数,因为数据框变量中有一些文本在我的向量中没有.
这是我想传递到我的选择语句中的向量示例。
c("clrs_name", "_clrs_sitedetails_value", "_clrs_targetlicence_value",
"clrs_licenceclass", "clrs_licenceownership", "clrs_type", "statuscode")
例如,我想从我的数据框中提取变量“odate_value_clrs_name”,向量中的字符串“clrs_name”应该提取它,但我不确定如何将包含和向量合并到选择语句中。
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
-
虽然不清楚您是否尝试匹配列名或列值。如果列名那么可能像这样的 dup 更合适:stackoverflow.com/questions/49460542/…
-
您可以将
paste和collapse="|"传递给matches在select中,即library(dplyr);df1 %>% select(matches(str_c(v1, collapse = "|"))) -
matches即使缺少某些元素也不会抛出错误 -
@akrun - 谢谢你的工作