gpt4 book ai didi

r - Slice_min 和 Slice_max 关系说明

转载 作者:行者123 更新时间:2023-12-03 08:15:47 25 4
gpt4 key购买 nike

使用 slice_minslice_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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com