【发布时间】:2017-12-13 07:20:54
【问题描述】:
给定一个像这样的数据框:
df <- data.frame(z_a = 1:2,
z_b = 1:2,
y_a = 3:4,
y_b = 3:4)
我可以选择包含以下字符的列名称:
library(dplyr)
df %>% select(contains("a"), contains("b"))
z_a y_a z_b y_b
1 1 3 1 3
2 2 4 2 4
注意 列顺序已更改。包含a 的列位于包含b 的列之前
我想选择在向量中包含字符的列名并重新排序列。
searchfor <- letters[1:2]
使用searchfor,我想制作以下表达式并在select 语句中使用它:
E <- quote(contains(searchfor[1]), contains(searchfor[2]))
df %>% select_(E)
【问题讨论】:
-
这是一个与stackoverflow.com/questions/29018292/… 略有不同的问题。但它有相同的解决方案。
-
这里有一个更直接的比较:stackoverflow.com/questions/25923392/…
-
@wibeasley 澄清了我原来的帖子,下面的答案比其他帖子更能回答我的问题。谢谢!