0

我可以使用 t.test 命令在 R 中执行 1 个样本 t 检验。这需要实际的数据集。我不能使用汇总统计数据(样本量、样本均值、标准差)。我可以使用 BSDA 包解决这个问题。但是在没有 BSDA 包装的情况下,还有其他方法可以在 R 中完成这个 1-sample-T 吗?

4

1 回答 1

1

很多种方法。我列举几个:

  • 正如评论者在上面所建议的那样,通过计算统计量并以该统计量和 df 作为参数调用来直接计算 p 值pt(可以用 R 中的一条短线来完成 - ekstroem 显示了双尾测试用例;对于一个尾万一你不会加倍)

  • 或者,如果您需要很多东西,您可以将其转换为一个很好的健壮函数,如果您愿意,甚至可以添加针对非零 mu 和置信区间的测试。大概如果你走这条路,你想利用围绕htest类构建的功能

    (代码甚至相当完整的功能都可以在这个stats.SE question的答案中找到。)

  • 如果样本不是很大(例如小于几百万),您可以使用完全相同的均值和标准差模拟数据并调用普通的 t.test 函数。如果mand是平均值,sdsn样本大小,t.test(scale(rnorm(n))*s+m)应该这样做(无论您使用什么分布,runif就足够了)。scale请注意在那里打电话的重要性。这使得无需编写更多代码即可轻松更改替代方案或获得 CI,但如果您有数百万次观察并且需要多次执行此操作,则它不适合。

  • 在另一个包中调用一个函数来计算它——至少有一个或两个其他这样的包(你不清楚使用 BSDA 是一个问题还是你是否想完全避免包)

于 2017-07-15T05:09:33.770 回答