r - R t 检验 2 组,3 次重复,每组有多个值进行比较
问题描述
我每组有三个样本(重复)。我想使用 T 检验来比较组之间的值 (MappedReadsCPM)。但是,我有 4000 个值要按顺序比较(由 PeakNumber 指定)。以下行很接近,但它并没有告诉 R 只比较 peak_1,然后只比较 peak_2,等等。
t.test(MappedReadsCPM~Group, data=subset(data2, Group %in% c("1", "2")))$p.value
我不想打印 4000 个 p 值 - 理想情况下,我可以将它们添加到数据框中。
pvalues <- t.test(MappedReadsCPM~Group, data=subset(data2, Group %in% c("1", "2")))$p.value
数据2
PeakNumber Sample Group MappedReadsCPM
peak_1 A 1 43.53819
peak_2 A 1 49.20722
peak_3 A 1 38.54943
peak_4 A 1 99.09472
peak_1 B 2 105.21728
peak_2 B 2 42.63114
peak_3 B 2 78.00591
peak_4 B 2 74.37773
peak_1 C 2 509.30606
peak_2 C 2 101.36234
peak_3 C 2 25.17051
peak_4 C 2 32.8804
peak_1 D 1 35.37478
peak_2 D 1 89.11722
peak_3 D 1 112.24688
peak_4 D 1 386.40139
peak_1 E 3 631.07692
peak_2 E 3 162.58791
peak_3 E 3 46.93961
peak_4 E 3 56.69035
peak_1 F 2 38.7762
peak_2 F 2 261.45587
peak_3 F 2 43.99171
peak_4 F 2 72.11012
peak_1 G 1 118.5962
peak_2 G 1 250.1178
peak_3 G 1 84.35
peak_4 G 1 386.40139
解决方案
您可以使用sapply
循环遍历数据中的所有独特峰并将数据子集到该特定峰:
pvalues <- sapply(unique(data2$PeakNumber), function(peak){
t.test(MappedReadsCPM~Group, data=subset(data2, Group %in% c("1", "2") & PeakNumber == peak))$p.value
})
推荐阅读
- string - 数字范围类型的 mkString 行为
- django-3.1 - Django表单不保存数据
- drupal-8 - 如何避免drupal 8中链接字段的url编码
- python - 在python中使用另一个类对象列表作为类属性时的奇怪行为
- html - 如何使 iframe 阻止来自某些域的请求?
- slam - ORB SLAM 3 - 实施
- c# - 当我在 Unity 中使对象面对鼠标光标时,它最终会偏移
- c# - 将 SessionId 转换为用户帐户 SID _without_ WTSQuerySessionInformation?
- swift - 当从不同的类调用更改时,UIView IBOutlet 不会更改
- python - 如何使用 Pillow 操作 discord.py 上的图像?