如何解决如何在 R 中使用不同的列应用 t 检验?
我对 R 非常陌生(所以我知道我做错了什么)。但是我有 8 个样本:4 名参与者接受了两种治疗(对照、药物)并且我有多个测量值(每个测量值不同的行)。像这样:
测量 | A_Ctrl | B_Ctrl | C_Ctrl | D_Ctrl | A_Drug | B_Drug | C_Drug | D_Drug |
---|---|---|---|---|---|---|---|---|
第一次 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 |
第二个 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 | 0.1939 |
我想添加另一列,使用配对 t 检验计算每行的 p 值。我希望代码使用代码中的列号,因为我正在考虑删除参与者,如果他们的数据看起来与我的初步数据显示的其他人不同。
我一直在查看有关堆栈溢出的其他类似问题,但似乎无法让它们起作用。这种格式的东西能用吗?
df$PValue <- t.test(df[2:5],df[6:9],alternative = "two.sided",paired=TRUE)
其中 df 是我导入到 RStudio 中的 Excel 工作表。
解决方法
如果你想从 t 测试中得到 p 值,你应该使用 $
符号:
first_p <- t.test(df[2:5],df[6:9],alternative = "two.sided",paired=TRUE)$p.value
,
如果您想为每一行应用 t.test
,您可以使用 apply
:
df$PValue <- apply(df[-1],1,function(x) t.test(x[1:4],x[5:8],paired=TRUE)$p.value)
请注意,我使用了 1:4
和 5:8
,因为我忽略了 df[-1]
中的第一列 (apply
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。