r - 使用减号删除变量和选择那些想要的变量有什么区别?
问题描述
在 packagedplyr
中,使用减号删除变量和选择那些想要的变量有什么区别?
例如:K1 有 6 个变量,第一个叫做“id” 我想删除第一个变量。
K2 <- select(K1, -"id")
and
K2 <- select(K1, 2:6)
那么这两者有什么区别呢?
谢谢你的回答
解决方案
它们本质上是做同一件事的两种方法。在你给出的例子中,结果是一样的。但是,在向 提供附加参数时select
,如果第一个参数使用减号,则会有所不同。从帮助:
如果第一个表达式是否定的,则 select() 将自动从所有变量开始。
所以,这些例子都给出了相同的结果。
library(dplyr)
foo <- data.frame(X = c(1,2,3),
Y = c(4,5,6),
Z = c(7,8,9))
select(foo, -X) # Retains columns Y and Z
select(foo, Y, Z) # Retains columns Y and Z
select(foo, -1) # Retains columns Y and Z
select(foo, 2:3) # Retains columns Y and Z
但是这些给出了不同的结果:
select(foo, -X, Y) # Retains columns Y and Z
select(foo, Y, -X) # Retains column Y
基本上,意思是“从除的select(foo, -X, Y)
所有列开始,然后添加到那个。” 但是添加没有效果,因为它已经包含在“除”之外的所有列中。所以结果是一样的。foo
X
Y
Y
X
select(foo, -X)
而,select(foo, Y, -X)
表示“从列开始Y
,foo
然后删除列X
。” 但是由于您只从 column 开始Y
,因此删除X
没有效果,因为它已经被排除在外。所以结果是一样的select(foo, Y)
。
推荐阅读
- ruby-on-rails - 在 Ruby on Rails 中的浏览器中显示完整错误
- java - 更改 Firebase Recycler Adapter 中的项目位置
- python-3.x - 如何通过 IPython 小部件以交互方式更新 jupyter notebook 中的降价单元格?
- javascript - 当我们点击它时,如何访问我们通过标签发送的console.log中的prop?
- python - 如何在 Keras 中输入最后一层预训练网络作为张量以展平
- google-play - Play商店上的PWA2APK仍然显示网址
- java - 无法在回收站视图上接受浮点输入
- vue.js - 本机脚本等效于带有 vuejs 应用程序的 window.localStorage
- r - 如何在 R 中执行审查回归,每个/多个观察值有不同的限制?
- api - 在移动设备上从thingsboad 填充设备数据内容?