gpt4 book ai didi

在 R 中运行样本大小不等的双样本 t.test

转载 作者:行者123 更新时间:2023-12-04 11:31:53 25 4
gpt4 key购买 nike

我正在尝试对治疗组和对照组之间的差异进行双样本 t 检验。数据未配对。当我对原始数据框进行子集化时,我发现我的样本大小不相等(不是手动问题,但 R 似乎使它成为一个问题)。这是我的代码:

CG<-subset(data,treat=="Control")
TG<-subset(data,treat!="Control")
agep <-t.test(CG$age~TG$age)$p.value

我得到的错误如下:

Error in model.frame.default(formula = CG$age ~ TG$age) : 
variable lengths differ (found for 'TG$age')

是的!长度确实不同。如果我没有运行配对测试,不确定为什么会出现问题?在此先感谢您的帮助。

最佳答案

如果不相等的样本量是独立组,则可以通过未配对的双样本 t 检验在 R 中解析均值。

首先,确保您的数据通过了同方差检验——方差是否同质?我们在 R 中使用 Fisher 的 F 检验var.test(x, y) 执行此操作。

CG <- subset(data, treat == "Control")
TG <- subset(data, treat != "Control")
var.test(CG, TG)

如果您的 p> 0.05,那么您可以假设两个样本的方差是同质的。在这种情况下,我们通过设置参数 var.equal = TRUE 来运行经典的学生双样本 t 检验。

agep <- t.test(CG$age, TG$age, var.equal = TRUE)

如果 F 检验返回 p < 0.05,则您可以假设两组的方差不同(异方差)。在这种情况下,您可以运行 Welch t 统计量。只需设置 var.equal = FALSE

agep <- t.test(CG$age, TG$age, var.equal = FALSE)

关于在 R 中运行样本大小不等的双样本 t.test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com