You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中如何基于Bootstrap样本首列ID从原数据框提取行创建新数据框

基于Bootstrap样本ID提取原数据行的方法

下面提供几种在R中实现需求的简洁方法:

基础R实现

方式1:按匹配ID筛选(保留原数据顺序)

# 提取ID匹配的所有行
boot_df <- df[df$ID %in% bootSamples$Column1, ]

方式2:按Bootstrap样本顺序提取

如果需要严格遵循bootSamples$Column1的ID顺序(包括重复项),用match()获取位置索引:

# 获取每个ID在原数据框中的位置
id_positions <- match(bootSamples$Column1, df$ID)
# 按位置提取行
boot_df_ordered <- df[id_positions, ]

tidyverse(dplyr)实现

如果使用dplyr包,语法更直观:

library(dplyr)

# 筛选匹配ID的行
boot_df_dplyr <- df %>% 
  filter(ID %in% bootSamples$Column1)

# 按Bootstrap样本顺序提取(含重复)
boot_df_dplyr_ordered <- df %>% 
  slice_match(ID == bootSamples$Column1)

注意事项

  • 确认df$ID与bootSamples$Column1的数据类型一致(如均为数值型或字符型),否则会导致匹配失败
  • Bootstrap是有放回抽样,提取后的新数据框会包含重复行,这是预期结果

内容的提问来源于stack exchange,提问作者npkp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:40:32