gpt4 book ai didi

r - 根据指定列中的最小值从数据框中获取 X 行;并在关系中随机选择

转载 作者:行者123 更新时间:2023-12-01 10:17:44 26 4
gpt4 key购买 nike

dplyr 中的 top_n 几乎是我想要的;然而,当有关系时,它会返回全部,但我希望它在关系中随机选择以满足我的 2 行截止。

top_number=4
x <- c(1, 2, 3, 3, 6, 6, 6)
y <- c(3, 2, 5, 1, 2, 3, 3)
xy <- data.frame(x, y)
xy
xy_1 <- dplyr::top_n(xy, top_number, wt = x)
xy_1

请注意,三个 6 应始终在 x 中选择,然后随机选择应在两个 3 中。
使用 tidyverse 解决方案会很好。

最佳答案

另一种选择可能是:

xy %>%
top_n(top_number, wt = x) %>%
sample_n(top_number)

为了解决更新的问题,添加 purrr :
xy %>%
top_n(top_number, wt = x) %>%
add_count(x, name = "n_all") %>%
add_count(x, y) %>%
group_split(n) %>%
map_dfr(~ mutate(., cond = if_else(n != n_all, 1, top_number)) %>%
sample_n(cond) %>%
select(x, y))

关于r - 根据指定列中的最小值从数据框中获取 X 行;并在关系中随机选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634966/

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