【问题标题】:R combine different variables of different length to one to generate a control groupR将不同长度的不同变量合二为一,生成一个控制组
【发布时间】:2020-12-02 21:19:28
【问题描述】:

我正在使用 bootstrap 创建一个新样本,以生成一个控制年龄和性别的对照组。每个变量在 2 到 8 个值之间的数字长度不同

control_40_50_HRV_female2 <- abs(parametric_bootstrap_boot2(control_40_50_HRV_female_SDNN))
control_50_60_HRV_male2 <- abs(parametric_bootstrap_boot2(control_50_60_HRV_male_SDNN))
control_50_60_HRV_female2 <-abs(parametric_bootstrap_boot2(control_50_60_HRV_female_SDNN))
control_60_70_HRV_male2 <- abs(parametric_bootstrap_boot2(control_60_70_HRV_male_SDNN))
control_60_70_HRV_female2 <-abs(parametric_bootstrap_boot2(control_60_70_HRV_female_SDNN))
control_70_80_HRV_male2 <-abs(parametric_bootstrap_boot2(control_70_80_HRV_male_SDNN))

如何将它们全部放在一组(一个变量)?所以我可以开始做 t 检验?我希望这很清楚

这是变量的示例输出

> control_40_50_HRV_female2
[1]  29.08388 102.49869
> control_50_60_HRV_male2
[1]  36.81686 127.47986  13.40681
> control_50_60_HRV_female2
[1] 25.50313
> control_60_70_HRV_male2
[1]  39.93050 140.75967  13.89545 316.45988 158.91477
> control_60_70_HRV_female2
[1]  26.27908 106.40483

当我运行这个命令时

out <- stack(mget(ls(pattern = '^control_\\d{2}_\\d{2}_\\w+_')))[2:1]
dim(out)

我明白了..这是我从脚本开头创建的所有变量的列表..

> dim(out)
[1] 96683     2
> head(out)
                           ind values
1 control_40_50_HRV_female_BPM  63.48
2 control_40_50_HRV_female_BPM  52.67
3 control_40_50_HRV_female_BPM  88.92
4 control_40_50_HRV_female_BPM  69.04
5 control_40_50_HRV_female_BPM  53.46
6 control_40_50_HRV_female_BPM  63.64

虽然我只需要这些变量的列表 control_40_50_HRV_female2, control_50_60_HRV_male2 .... control_70_80_HRV_male2

【问题讨论】:

  • 您的评论while I only need a list of these variable control_40_50_HRV_female2, control_50_60_HRV_male2是否需要数据子集,即subset(out, ind %in% c("control_40_50_HRV_female2", "control_50_60_HRV_male2", "control_70_80_HRV_male2"))

标签: r statistics statistics-bootstrap


【解决方案1】:

我们可以使用mget 将“控件”对象的值放入list,然后将stack 放入两列data.frame

out <- stack(mget(ls(pattern = '^control_\\d{2}_\\d{2}_\\w+_')))[2:1]


head(out)
#                        ind    values
#1 control_40_50_HRV_female2  29.08388
#2 control_40_50_HRV_female2 102.49869
#3 control_50_60_HRV_female2  25.50313
#4   control_50_60_HRV_male2  36.81686
#5   control_50_60_HRV_male2 127.47986
#6   control_50_60_HRV_male2  13.40681

【讨论】:

  • 并列出 pattern = 'control_40_50_HRV_female2,control_50_60_HRV_male2 ... ' 之后的所有控制变量
  • @EA90 输出是一个两列 data.frame,其中一列具有对象名称 control_40_50_HRV_female2,第二列具有该对象的相应值
  • 非常感谢,这已经创建了超过 48,000 行 .. 知道为什么吗?
  • 我已经编辑了模式
  • 非常感谢,你是一个拥抱帮助
猜你喜欢
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
  • 2022-06-17
  • 1970-01-01
  • 1970-01-01
  • 2020-02-07
相关资源
最近更新 更多