计算for循环中间隔的p值

时间:2017-05-15 08:20:52

标签: r for-loop intervals p-value

我需要在两个不同的组(由变量数据定义的HM和SM)中计算不同合并症(变量名data.family $ q_81_SQ00a / b / c / d / e / f ......等)的ap值。家庭$ related.unrelated)。

我用这个循环来做:

lapply(letters[c(1:12)], function(x){

  fisher.test(data.family$related.unrelated,
                          data.family[[paste0("q_81_SQ00", x)]])
  })

工作正常! 现在我想用以下代码定义不同年龄段的循环:

data.family$agegroup <- cut(data.family$age, 
                       breaks = c(0, 18, 30, 40, 50, 60, 70, 80, 92), 
                       labels = c("0-18", "18-29", "30-39", "40-49", "50-59", "60-69", "70-79", "80-92"),
                       right = FALSE)

如何在每个年龄段内运行循环?我知道我可以做到以下几点:

lapply(letters[c(1:12)], function(x){

      fisher.test(data.family$related.unrelated[data.family$agegroup=='18-29'],
                              data.family[[paste0("q_81_SQ00", x)]][data.family$agegroup=='18-29'])
      })

是否可以避免为每个年龄段重复代码并在循环中创建循环?

0 个答案:

没有答案