在统计中, 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)
在这里, 何:亩= 3
如何在R中执行T检验 在T检验中, 为了指定均等方差和汇总方差估计, 我们设置var.equal = True。我们还可以使用alternative =” less” 或alternative =” greater” 来指定单尾测试。
让我们看看如何执行一个样本, 配对样本和独立样本的T检验。
一样本T检验
单样本T检验是将向量的平均值与理论平均值进行比较的T检验。以下公式可用于计算T检验:
文章图片
这里,
- M是平均值。
- ?是理论平均值。
- s是标准偏差。
- n是观察数。
- 如果p值小于0.05, 则表示我们很有信心拒绝原假设。这样H3被接受。
- 如果p值大于0.05, 则表明我们没有足够的证据来拒绝原假设。
在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.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是二进制
set.seed(0)Spenders.Cleve <
- rnorm(50, mean = 300, sd = 70)Spenders.NY <
- rnorm(50, mean = 350, sd = 70)Amount.Spent <
- c(Spenders.Cleve, Spenders.NY)city.name <
- c(rep("Cleveland", 50), rep("New York", 50))t.test(Amount.Spent ~ city.name, var.equal = TRUE)
输出
文章图片
例3:不假设方差相等
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 = FALSE)
【R中的T检验示例图解】输出
文章图片
推荐阅读
- RStudio IDE安装详细步骤(图解)
- R向量用法详解
- R XML文件操作详细图解
- R while循环语句示例图解
- R和Python的区别详细对比(图解)
- R时间序列分析示例详解
- R编程中的变量
- R编程教程
- R switch语句示例图解