gpt4 book ai didi

r - 按ID选择随机样本

转载 作者:行者123 更新时间:2023-12-05 02:26:58 25 4
gpt4 key购买 nike

我有一个包含 811777 行和 133 个不同工作人员 ID 的数据框。我的数据框如下所示:

  PERS_ID           NEU_DATUM                             
1 22 2022-03-01 00:00:00
2 22 2022-03-01 00:00:00
3 22 2022-03-01 00:00:00
4 22 2022-03-01 00:00:00
5 22 2022-03-01 00:00:00
6 22 2022-03-01 00:00:00
7 22 2022-03-01 00:00:00
8 22 2022-03-01 00:00:00
9 22 2022-03-01 00:00:00
10 22 2022-03-01 00:00:00

在前 10 行中,您只能看到一个 ID 为“22”的 worker ,但正如我上面所说,我的 df 有 133 个不同的 worker ID。我想取 50 个随机 worker ID 并创建一个新的 df。但我不想要一个 ID 的一行。相反,我想要每一行都有那个 worker ID。所以基本上我的新 df 应该包含 50 个随机 worker ID,我想要这些 worker 的每一行。我已经尝试使用示例代码,但我失败了 :(。提前致谢!

最佳答案

如果您的数据是df,您可以执行以下操作:

df[df$PERS_ID %in% sample(unique(df$PERS_ID), 50),]

或者用data.table

library(data.table)
setDT(df)[PERS_ID %in% sample(unique(PERS_ID),50)]

或与 dplyr:

library(dplyr)
df %>% filter(PERS_ID %in% sample(unique(PERS_ID),50))

您也可以使用连接方法来做到这一点;下面显示了一种使用 dplyr 的方法:

inner_join(
df,
df %>% distinct(PERS_ID) %>% slice_sample(n=50)
)

关于r - 按ID选择随机样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73445452/

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