使用R中的重复数据进行多重假设检验

用户13550051

在下面的数据框中,我想计算每种蛋白质的p值,以比较“对照”复制品和“已处理”复制品。我对使用R非常陌生,我只想看看我是否可以不再使用Excel来完成这些任务。实际上,我将拥有数千种蛋白质。然后,我将使用它p.adjust()来校正多重假设检验。

如有任何建议,我将不胜感激。

Protein Control_1 Control_2 Control_3 Treated_1 Treated_2 Treated_3
1       1      7.15      7.16      7.11      6.91      6.88      6.92
2       2      6.64      6.61      6.59      6.37      6.35      6.41
3       3      3.68      3.78      3.81      2.40      2.09      2.17
4       4      5.04      5.01      4.69      3.43      3.52      3.66
5       5      6.92      6.81      6.90      7.12      7.21      7.27

期望的:-

Protein Control_1 Control_2 Control_3 Treated_1 Treated_2 Treated_3 P-value
1       1      7.15      7.16      7.11      6.91      6.88      6.92      0.000413
2       2      6.64      6.61      6.59      6.37      6.35      6.41      0.000742
3       3      3.68      3.78      3.81      2.40      2.09      2.17      0.001010
4       4      5.04      5.01      4.69      3.43      3.52      3.66      0.001262
5       5      6.92      6.81      6.90      7.12      7.21      7.27      0.004306
JustGettin开始

用@StupidWolf的评论更新。

由于您是RI的新手,因此提供了一种易于理解和修改的解决方案。

# Generate data that looks like yours
df <-  data.frame(Protein=1:5,Control_1=rnorm(5,5),Control_2=rnorm(5,5),
           Control_3=rnorm(5,5),Treated_1=rnorm(5,5),Treated_2=rnorm(5,5),
           Treated_3=rnorm(5,5))
p_vals <- rep(NA,nrow(df))
for(i in 1:nrow(df)){
  i.p_val <- t.test(df[i,grep("Control",colnames(df))],
                    df[i,grep("Treated",colnames(df))])$p.value
  p_vals[i] <- i.p_val
}
df <- cbind(df,Pvalue=p_vals)
df

应该给你

  Protein Control_1 Control_2 Control_3 Treated_1 Treated_2 Treated_3    Pvalue
1       1  5.813581  5.149145  4.662203  5.481839  6.424654  5.503664 0.2621811
2       2  4.191440  6.155372  5.773128  3.941712  5.945056  4.182457 0.4769504
3       3  4.654504  4.598808  5.258675  4.101895  6.135411  4.276641 0.9993112
4       4  5.426672  4.520739  6.293757  3.787395  5.274740  3.847900 0.1909877
5       5  5.614929  6.993289  3.786346  5.193352  5.362928  4.746676 0.7353676

如果t.test()愿意,可以将其从其他测试更改为非参数测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章