R相当于Stata *
R equivalent of Stata *
在 Stata 中,如果我有这些变量:var1
、var2
、var3
、var4
、var5
和 var6
, 我可以 select 使用命令 var*
所有这些。 R 有类似的功能吗?
您可以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
.
"dplyr" 包中的 select
函数为 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
在 Stata 中,如果我有这些变量:var1
、var2
、var3
、var4
、var5
和 var6
, 我可以 select 使用命令 var*
所有这些。 R 有类似的功能吗?
您可以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
.
"dplyr" 包中的 select
函数为 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