基本 - T 检验 -> 分组因子必须恰好有 2 个水平

Basic - T-Test -> Grouping Factor Must have Exactly 2 Levels

我对 R 比较陌生。对于我的任务,我必须首先进行 T 检验,查看政客(保守党或工党)的财富对其实际总财富和实际净财富的影响。我必须尝试使用​​简单的 t 检验来估计在办公室财富中任职的影响。

数据集名为takehome.dta

工党和保守党是二元的,其中 1 表示他们为该党服务,否则为 0。

财富的变量是 lnrealgross 和 lnrealnet。

我已经导入并附加了数据集,但是当我尝试进行简单的 t 检验时。我收到以下消息 "grouping factor must have exactly 2 levels." 不太确定哪里出错了。任何援助将不胜感激!

你在这样做吗:

t.test(y~x)

当你打算这样做时

t.test(y,x)

一般使用 ~ 然后你有像

这样的数据
y <- 1:10
x <- rep(letters[1:2], each = 5)

, 当你有像

这样的数据时
y <- 1:5
x <- 6:10

我假设你正在做类似的事情:

y <- 1:10
x <- rep(1,10)
t.test(y~x) #instead of t.test(y,x)

因为错误表明您的分组因子没有变化 x

~ 和 , 之间的区别在于您的统计测试类型 运行。 ~ 给你平均差异。这适用于相关样本(例如之前和之后)。 ,给你手段上的差异。这是针对独立样本(例如处理和控制)。这两个测试不可互换。

我遇到了类似的问题,但考虑到我的数据集的大小,我没有意识到我的一个 y 对于我的一个级别没有值。我对两组进行了一系列基因读数,其中一个基因只对第 2 组而不是第 1 组进行了读数。我什至没有注意到,但出于某种原因,这与我如果也有同样的错误会出现同样的错误许多级别。解决方案是从我的分析中删除那个 y 或在我的案例中的基因,然后错误就解决了。