为什么这个t.test的变体需要不同的编码? (R)

时间:2016-05-25 03:59:05

标签: r hypothesis-test

R的新手并试图让我了解它的编码(一般是编码新手)

我的问题是,运行t-tests(配对和独立)我必须更改它的公式以识别我的列。以下两项工作;但是,如果设置为“独立”代码(带有data =''),则“配对”代码将无效。

独立:t.test(Nicotine ~ Brand, data = nicotine, alternative='two.sided', conf.level=.95, var.equal=FALSE)

配对:with(omega3, t.test(Before, After, paired = TRUE, alternative='greater', conf.level=.95))

为什么会这样?理想情况下,我宁愿不使用with公式,但我不明白为什么当我添加参数data = omega3

时它不会识别“之前”和“之后”

非常感谢任何见解。

汤姆

1 个答案:

答案 0 :(得分:2)

它与函数使用数据的方式有关。当你使用公式时,你告诉R:"使用这个变量作为我的预测变量(独立变量),另一个变量作为我的结果(依赖var)"。在独立样本t检验的情况下,您有:

continuous.variable  ~  dichotomous.variable
(outcome/dependent)     (predictor/independent)

对于配对样本,你没有"预测器" (或更主要地说"解释变量")。您只需要两列,希望彼此进行比较。

所以你可以看到公式表示法是R的一个很好的特性,但是你不能在任何情况下使用它。

此外,还有使用with功能的替代方法:

t.test(Before, After, paired = TRUE, alternative='greater', conf.level=.95, data=omega3)
# or
t.test(omega3$Before, omega3$After, paired = TRUE, alternative='greater', conf.level=.95)