在Stata中,如果我有这些变量:var1
,var2
,var3
,var4
,var5
和var6
,我可以使用命令var*
选择所有这些。 R有类似的功能吗?
答案 0 :(得分:10)
“dplyr”包中的select
函数提供了几种灵活的方法来选择变量。例如,使用@ Marius的示例数据,请尝试以下操作:
library(dplyr)
df %>% select(starts_with("var")) # At the start
df %>% select(num_range("var", 1:3)) # specifying range
df %>% select(num_range("var", c(1, 3))) # gaps are allowed
答案 1 :(得分:5)
您可以grep
在列名称中进行此类正则表达式匹配:
x = c(1, 2, 3)
df = data.frame(var1=x, var2=x, var3=x, other=x)
df[, grep("var*", colnames(df))]
输出:
var1 var2 var3
1 1 1 1
2 2 2 2
3 3 3 3
所以,基本上只是利用通常的df[rows_to_keep, columns_to_keep]
索引语法,并将grep
的结果作为columns_to_keep
。