1

我在创建双尾 2 样本 t 检验时遇到了问题。给出的唯一值是以下值。我们有S组和L组,分别有期中和期末考试。我的任务是对期中分数进行一次双尾 2 样本 t 检验,然后对期中到期末考试的分数差异进行一次检验。

d <- read.table(text="
Cohort  N Midterm_Mean Midterm_SD Final_Mean Final_SD Diff_Mean Diff_SD
2016_L 38     77.4        3.0       73.7       4.2      -3.7        2.1
2017_S 37     81.9        2.1       70.0       4.6     -11.9        2.8
", header=TRUE)

结果应该是:

  • 期中考试:(t: -1.24, p:0.219 > 0.01, Cohen's d: -0.286)
  • 决赛:(t:2.30, p:0.024 > 0.01, Cohen's d:0.532)

我没有得到这些结果。我怎样才能在 R 中正确实现测试?

编辑:我已经有以下内容:

L1 <- rnorm(mean = 77.4, sd = 3,   n=38)
S1 <- rnorm(mean = 81.9, sd = 2.1, n=37)
L2 <- rnorm(mean = 73.7, sd = 4.2, n=38)
S2 <- rnorm(mean = 70,   sd = 4.6, n=37)
tab <- data.frame(result=c(L1,S1), 
                  group=c(rep(0, times=38), rep(1,times =37)) ,head=TRUE)
attach(tab)
t <- t.test (result ~ group, mu=0, alternative="two.sided", 
             conf=0.95, var.equal=T, paired=F)

上面的代码仅用于比较中间项。首先,我认为我必须创建具有给定值的法线向量。然后我将它们放在一个数据框中,并用 0 或 1 标记它们,无论它们来自 (S) 还是 (L)。这或多或少是解决任务的正确方法吗?因为结果得到的 p 值太小。

4

2 回答 2

1

基本上,你根本就没有走在正确的轨道上。我假设这是家庭作业?在现实生活中,您几乎总是从原始数据开始,这正是 R 所期望的。但是这里没有原始数据,只有汇总统计数据。因此,您需要自己进行计算才能得到答案。(在您的编辑中,您正在制作看起来有点像真实数据的新原始数据——当然,不完全是。)

因为这感觉像是家庭作业,所以我不会在这里提供这些计算;相反,请在您的文本中查找公式并遵循它们。基本思想是得到一个差异,除以一个标准误差(你需要从这两个标准差和样本量中计算出来),然后使用一个正常的表(或一个 R 函数)来获得 p 值. 尝试一下,然后通过编辑原始问题返回任何后续问题。

于 2018-04-28T18:48:32.017 回答
0

Check ?t.test

You'll see you need to hand it two vectors (x and y). The default is to test mean difference of zero. Two-sided tests are also the default. You might toggle whether equivalent variance is assumed -- var.equal = TRUE.

The way you're reporting your p-values is non-standard. I don't quite see what the result is supposed to be.

于 2018-04-28T17:25:15.903 回答