作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 slice_min
和 slice_max
时,dplyr
何时返回平局?我发现一些不一致之处,并且似乎无法在网上或他们的文档中找到任何说明。
示例:
library(dplyr)
#there is a tie but only returns 5 rows, not the bottom 5 mpg's
mtcars %>% slice_min(mpg, n = 5, with_ties = TRUE)
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4
#> Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
#> Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4
#> Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4
#> Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4
#this will return the top two as a tie when above it did not
mtcars %>%
slice_min(mpg, n = 1, with_ties = TRUE)
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4
#> Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
#another example of it using ties to return more than 3 rows
starwars %>%
select(gender, mass) %>%
group_by(gender) %>%
slice_min(mass, n = 3, with_ties = TRUE)
# A tibble: 8 x 2
# Groups: gender [3]
# gender mass
#
#1 feminine 45
#2 feminine 49
#3 feminine 50
#4 feminine 50
#5 masculine 15
#6 masculine 17
#7 masculine 20
#8 NA 48
我在这里遗漏了什么吗?
最佳答案
“领带”指的是边界入境,而不是任何领带。因此,如果包含的最后一个元素与否则会被排除的元素绑定(bind),则“with_ties”会将其拉入输出。
my_data <- data.frame(a = c(1, 1, 2, 2))
> slice_min(my_data, a, n = 1)
a
1 1
2 1
> slice_min(my_data, a, n = 2)
a
1 1
2 1
> slice_min(my_data, a, n = 3)
a
1 1
2 1
3 2
4 2
如果您想要三个最低的 mpgs,您可以从不同的 mpgs 列表开始,对它们进行切片,然后连接到原始数据:
mtcars %>%
distinct(mpg) %>%
slice_min(mpg, n = 3) %>%
left_join(mtcars)
Joining, by = "mpg"
mpg cyl disp hp drat wt qsec vs am gear carb
1 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4
2 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4
3 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4
4 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4
关于r - Slice_min 和 Slice_max 关系说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69500318/
我正在尝试使用 dplyr 1.0.0 中的函数 slice_max,但我不断收到错误“找不到函数“slice_max”。我已经删除并重新安装了 dplyr,但仍然无法访问该函数。谁能帮我解决这个问题
使用 slice_min 和 slice_max 时,dplyr 何时返回平局?我发现一些不一致之处,并且似乎无法在网上或他们的文档中找到任何说明。 示例: library(dplyr) #there
.env代词用于指代环境中的对象(而不是在 data.frame 中)在其他 dplyr 动词中效果很好,但在 slice_max 中返回错误.为什么? 考虑以下函数: library(dplyr)
我是一名优秀的程序员,十分优秀!