为啥这个 t.test 的变体需要不同的编码? (右)

Posted

技术标签:

【中文标题】为啥这个 t.test 的变体需要不同的编码? (右)【英文标题】:Why do variations of this t.test require different coding? (R)为什么这个 t.test 的变体需要不同的编码? (右) 【发布时间】:2016-09-22 11:50:05 【问题描述】:

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

我的问题是,运行 t 检验(成对和独立)我必须更改公式才能识别我的列。以下两者都有效;但是,如果样式类似于“独立”代码(数据 = ''),则“配对”代码将不起作用。

独立: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】:

这与函数使用数据的方式有关。当您使用公式时,您是在告诉 R:“将此变量用作我的预测变量(独立变量),将另一个变量用作我的结果(从属变量)”。在独立样本 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)

【讨论】:

以上是关于为啥这个 t.test 的变体需要不同的编码? (右)的主要内容,如果未能解决你的问题,请参考以下文章

如何对变体长度特征进行一种热编码?

为啥这个 Rust 枚举不小?

如何在 javascript 中访问多维 PHP 数组作为 json 编码的变体?

为啥“快速排序”算法的这两种变体在性能上差别如此之大?

为啥 Oracle ADD_MONTHS() 返回的 sysdate 值与我硬编码今天的日期不同?

为啥 XmlReader 中的默认编码与 XmlTextReader 默认编码的行为不同?