按数值变量基于分组进行随机抽样
创始人
2024-11-05 18:30:37
0

使用R语言中的dplyr包和tidyr包,步骤如下:

  1. 利用 group_by() 函数按照分组变量进行分组;
  2. 使用 nest() 函数将各组数据打包到列表中;
  3. 使用 mutate() 函数为每个子数据集添加一个随机序列;
  4. 使用 unnest() 函数将列表展开;
  5. 按自己所需的比例对子集进行抽样,例如抽样比例为0.3;

示例代码:

library(dplyr)
library(tidyr)

df <- data.frame(
  group = c("A", "A", "B", "B", "B", "C", "C", "C", "C"),
  val1 = runif(9),
  val2 = runif(9)
)

# 按照group字段进行分组
df_group <- df %>% 
  group_by(group) %>% 
  nest()

# 为每个子数据集添加随机序列,并展开
df_random <- df_group %>% 
  mutate(data = map(data, function(df) {
    df %>% 
      mutate(rand = sample(1:n(), n())) %>% 
      arrange(rand) %>% 
      select(-rand)
  })) %>% 
  unnest(data)

# 按0.3的比例对子集进行抽样
sampled <- df_random %>% 
  group_by(group) %>% 
  sample_frac(0.3)

相关内容

热门资讯

事发当天!上饶辅助设备出租,真... 事发当天!上饶辅助设备出租,真是是真的辅助工具(有挂头条)-哔哩哔哩上饶辅助设备出租脚本下载中分为三...
随着!菠萝神辅助器app,一直... 随着!菠萝神辅助器app,一直是有辅助平台(有挂教程)-哔哩哔哩1、很好的工具软件,可以解锁游戏的菠...
推出新举措!兴动海满辅助,一贯... 您好,兴动海满辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
做出回应!微乐贵阳捉鸡麻将挂软... 做出回应!微乐贵阳捉鸡麻将挂软件,果然真的是有辅助神器(有挂秘诀)-哔哩哔哩1、打开软件启动之后找到...
反观!九游破解辅助插件,都是真... 反观!九游破解辅助插件,都是真的有辅助神器(有挂秘籍)-哔哩哔哩九游破解辅助插件能透视中分为三种模型...
据文件显示!科米台州麻将辅助,... 据文件显示!科米台州麻将辅助,真是有挂辅助app(竟然有挂)-哔哩哔哩1、每一步都需要思考,不同水平...
今天上午!赣湘互娱挂,总是是有... 今天上午!赣湘互娱挂,总是是有辅助修改器(有挂详情)-哔哩哔哩1、在赣湘互娱挂插件功能辅助器技巧中,...
来临!广西友乐解码器辅助器,原... 来临!广西友乐解码器辅助器,原来真的是有辅助脚本(真的有挂)-哔哩哔哩1.广西友乐解码器辅助器 选牌...
来临!新天道辅助脚本,确实有挂... 来临!新天道辅助脚本,确实有挂辅助下载(有挂秘诀)-哔哩哔哩1、金币登录送、破产送、升级送、活动送。...
近期!青橙竞技卡五星辅助,好像... 近期!青橙竞技卡五星辅助,好像真的是有辅助脚本(竟然有挂)-哔哩哔哩1、用户打开应用后不用登录就可以...