如何根据名称向量(dplyr)从R data.frame中省略变量

时间:2015-12-11 07:56:08

标签: r dataframe dplyr

我有data.frame和我需要省略的一长串变量。使用变量名的向量会很方便。另外,我最好用dplyr或tidyr来做这件事。

我已经尝试过这个:

providerManager

虽然没有用但我得到一元运算符错误的无效参数。因此,我已经知道我没有正确使用负号,但我也没有找到可行的替代品。这个例子非常简单,但是我的实际问题更复杂,省略了更长的(和选定的)向量。我真的想避免单独输入它们。

2 个答案:

答案 0 :(得分:2)

您可以使用omits来选择或在这种情况下省略字符向量中提供的变量(向量df %>% select(-one_of(omits)) 中包含的变量):

           A
1  0.9930896
2  0.4075611
3  0.3654101
4  0.2161043
5  0.4034992
6  0.8350059
7  0.4828840
8  0.1134290
9  0.2902616
10 0.4052897

输出:

subprocess

答案 1 :(得分:1)

我们可以使用

 df %>% 
    select_(.dots= setdiff(names(.), omits))
#          A
#1  0.5479797
#2  0.7071427
#3  0.9020869
#4  0.4815137
#5  0.8413017
#6  0.5813052
#7  0.1528620
#8  0.4352227
#9  0.8802945
#10 0.9828040