📜  R中的T检验

📅  最后修改于: 2021-01-08 10:11:31             🧑  作者: Mango

R中的T检验

在统计中,T检验是最常见的检验之一,用于确定两组的平均值是否相等。该测试的假设是,两组均从具有相同波动的正态分布中采样。零假设是两个均值是相同的,而替代假设是它们不相同。众所周知,在原假设下,我们可以计算出t统计量,该统计量将遵循t分布为n1 + n2-2个自由度。

在R中,存在多种类型的T检验,例如一个样本Welch T检验。 R提供了t.test()函数,该函数提供了多种T检验。

不同的T-test有t.test()函数的以下语法

独立的2组T检验

t.test(y~x) 

此处,y是数字,x是二进制因子。

独立的2组T检验

t.test(y1,y2) 

此处,y1和y2是数字。

配对T检验

t.test(y1,y2,paired=TRUE) 

此处,y1和y2是数字。

一次样本T检验

t.test(y,mu=3)

这里,何:mu = 3

如何在R中执行T检验

在T检验中,为了指定均等方差和汇总方差估计,我们设置var.equal = True。我们还可以使用alternative =“ less”或alternative =“ greater”来指定单尾测试。

让我们看看如何执行一个样本,配对样本和独立样本的T检验。

一样本T检验

单样本T检验是将向量的平均值与理论平均值进行比较的T检验。以下公式用于计算T检验:

这里,

  • M是平均值。
  • ?是理论平均值。
  • s是标准偏差。
  • n是观察数。

为了评估t检验的统计显着性,我们需要计算p值。 p值范围从0到1,并解释如下:

  • 如果p值小于0.05,则表示我们很有信心拒绝原假设。这样H3被接受。
  • 如果p值大于0.05,则表明我们没有足够的证据来拒绝原假设。

我们通过查看t检验的相应绝对值来构造p值。

在R中,我们使用t.test()函数的以下语法在R中执行一次样本T检验。

t.test(x, ?=0)

这里,

  • x是我们感兴趣的变量的名称。
  • ?由零假设描述,该假设等于均值。

让我们看一个单样本T检验的示例,在该示例中,我们测试木材装运量是否小于通常的量(? 0 = 0)。

set.seed(0)
ship_vol <- c(rnorm(70, mean = 35000, sd = 2000))
t.test(ship_vol, mu = 35000)

输出:

配对样本T检验

为了执行配对样本测试,我们需要两个向量数据y1和y2。然后,我们将使用语法t.test(y1,y2,成对= TRUE)运行代码。

例:

假设我们在一家大型诊所工作,并且正在测试一种新药Procardia,该药旨在降低高血压。我们发现13000名收缩压高的人(x 150 = 150 mmHg,SD = 10 mmHg),我们为他们提供了一个月的Procardia,然后再次测量他们的血压。我们发现平均收缩压降至144 mmHg,标准差为9 mmHg。

set.seed(2800)
pre.treatment <- c(rnorm(2000, mean = 130, sd = 5))
post.treatment <- c(rnorm(2000, mean = 144, sd = 4))
t.test(pre_Treatment, post_Treatment, paired = TRUE)

输出:

独立样本T检验

根据我们数据的结构及其方差的相等性,独立样本T检验可以采用以下三种形式之一:

  • y1和y2是数字的独立样本T检验。
  • 独立样本T检验,其中y1是数字,y2是二进制。
  • 未假设方差相等的独立样本T检验。

独立样本t检验有以下t.test()函数的一般形式:

t.test(y1,y2, paired=FALSE)

默认情况下,R假定y1和y2的版本不相等,因此默认为Welch检验。为了对此进行切换,我们将标志设置为var.equal = TRUE。

让我们看一些检验假设的例子。在这种假设下,克利夫兰夫妇和纽约人每月花费不同的金额在户外用餐。

示例1:独立样本T检验,其中y1和y2是数字

set.seed(0)
Spenders.Cleve <- rnorm(50, mean = 300, sd = 70)
Spenders.NY <- rnorm(50, mean = 350, sd = 70)
t.test(Spenders.Cleve, Spenders.NY, var.equal = TRUE)

输出:

示例2:其中y1是数字,y2是二进制