我有一个数据框和该数据框中的一些列,我想要删除这些列。让我们以iris
数据集为例。我想删除Sepal.Length
和Sepal.Width
并仅使用其余的列。如何使用dplyr
包中的select
或select_
实现这一点?
到目前为止,这是我尝试过的:
drop.cols <- c('Sepal.Length', 'Sepal.Width')
iris %>% select(-drop.cols)
-drop.cols中的错误:一元运算符的参数无效
iris %>% select_(.dots = -drop.cols)
-drop.cols发生错误:一元运算符的参数无效
iris %>% select(!drop.cols)
在!drop.cols中出现错误:无效的参数类型
iris %>% select_(.dots = !drop.cols)
!drop.cols 中的错误:无效的参数类型
我觉得我可能错过了什么显而易见的东西,因为这似乎是一个非常有用的操作,应该已经存在。在 Github 上,有人发布了类似的问题,Hadley说要使用“负索引”。这就是我尝试过的(我想),但没有成功。有什么建议吗?
select_vars
而不是select
。现在它完美地运行了! - Navaneethan Santhanamone_of
?除非我漏掉了什么,否则它似乎不在包文档(help(package='dplyr')
)中出现。 - geotheoryone_of
已经有文档了。请参考help(one_of, package="dplyr")
。至少在 0.5.0 版本中已经有文档了。但是阅读 Hadley 在更新他的包时发布的博客会有所帮助。有些函数的文档可能在其他函数的内部。不幸的是,这需要阅读所有文档,我大多数情况下只在想要某些不太明显或不可能的功能时才这样做。 - phiver