gpt4 book ai didi

r - 按组随机抽取样本

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

我有一个数据框,由分布在 15 个不同 ID 中的近 50,000 行组成(每个 ID 都有数千个观察值)。数据框如下所示:

        ID  Year    Temp    ph
1 P1 1996 11.3 6.80
2 P1 1996 9.7 6.90
3 P1 1997 9.8 7.10
...
2000 P2 1997 10.5 6.90
2001 P2 1997 9.9 7.00
2002 P2 1997 10.0 6.93

我想为每个 ID 随机抽取 500 行(因此 P1 为 500 行,P2 为 500 行,......)并创建一个新的 df。我尝试:

new_df<-df[df$ID %in% sample(unique(dfID),500),]

但是它需要随机一个 ID,而我需要每个 ID 500 个随机行。

最佳答案

这可通过 slice_sample 获得。 dplyr 中的函数:

library(dplyr)
new_df <- df %>% group_by(ID) %>% slice_sample(n=500)

在旧版本的 R 中,该函数称为 sample_n ,已被弃用。

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

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