我对 R 比较陌生。对于我的任务,我必须首先进行 T 检验,观察政客(保守党或工党)的财富对其实际总财富和实际净财富的影响。我必须尝试使用简单的 t 检验来估计在办公室财富中任职的影响。
数据集名为 takehome.dta
工党和保守党是二元的,其中 1 表示他们为该党服务,否则为 0。
财富的变量是 lnrealgross 和 lnrealnet。
我已经导入并附加了数据集,但是当我尝试进行简单的 t 检验时。我收到以下消息“分组因素必须恰好有 2 个级别”。不太确定我哪里出了问题。任何援助将不胜感激!
你在做这个吗:
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 或在我的例子中的基因,然后错误就解决了。
您必须拥有一个只有两组的自变量,例如组 1 和组 2。
自变量是名义变量。例如:您将自变量称为:groups。
然后你还有因变量,它是度量的。
例如:您有一个因变量:体重。
这是公制的。
数据框称为:数字
在 R 中输入:
t.test(dataframe$因变量~dataframe$自变量, var.equal = TRUE, Alternative = "two.side")
t.test(numbers$weight~numbers$groups, var.equal = TRUE, Alternative = "two.side")
如果方差不相等,则写:
var.equal = FALSE
如果你有一个定向假设,你可以写:
替代=“更大”
或
替代=“少”
希望对您有帮助。