【问题标题】:How to apply Shapiro test in R?如何在 R 中应用夏皮罗测试?
【发布时间】:2014-08-10 00:12:03
【问题描述】:

我对统计很陌生,我需要你的帮助。我刚刚安装了 R 软件,我不知道如何使用它。我有一个小样本如下:

Group A : 10, 12, 14, 19, 20, 23, 34, 41, 12, 13
Group B :  8, 12, 14, 15, 15, 16, 21, 36, 14, 19

我想应用 t 检验,但在此之前我想应用 Shapiro 检验来了解我的样本是否来自具有正态分布的总体。我知道有一个函数 shapiro.test() 但是我怎样才能把我的数字作为这个函数的输入呢?

我可以简单地输入 shapiro.test(10,12,14,19,20,23,34,41,12,13, 8,12, 14,15,15,16,21,36,14,19 )?

【问题讨论】:

  • 我知道您可能希望 NOW 使用它,但听起来您可能还会发现基本的“如何使用 R”教程很有用。这将帮助您学习如何使用帮助功能,然后您可以开始自己解决这个问题。我发现参考卡非常有用:试试cran.r-project.org/doc/contrib/Short-refcard.pdfstackoverflow.com/questions/1744861/…。基本上,如果你输入 help(shapiro.test) 你会得到一些你可以尝试的例子。

标签: r


【解决方案1】:

好的,因为我感觉很好,让我们解决这个问题。我假设您知道如何运行命令等。首先,将您的数据放入向量中:

A = c(10, 12, 14, 19, 20, 23, 34, 41, 12, 13)
B = c(8, 12, 14, 15, 15, 16, 21, 36, 14, 19)

让我们检查一下 shapiro.test() 的帮助。

help(shapiro.test)

在那里你会看到以下内容:

用法

shapiro.test(x)

参数

x 数据值的数字向量。允许缺失值,但 非缺失值的数量必须在 3 到 5000 之间。

因此,输入必须是向量值。现在我们知道我们可以直接使用向量AB 运行“shapiro.test()”函数。 R 的大部分函数都使用命名参数,所以我们告诉函数我们传入了什么:

shapiro.test(x = A)

结果显示在屏幕上:

Shapiro-Wilk normality test

data:  A
W = 0.8429, p-value = 0.0478

那么我们可以对 B 做同样的事情:

shapiro.test(x = B)

这给了我们

Shapiro-Wilk normality test

data:  B
W = 0.8051, p-value = 0.0167

如果我们愿意,我们可以同时测试AB,尽管很难知道这是否是一个有效的测试。所谓“有效”,我的意思是想象你从袋子里拿出数字来获得AB。如果A 中的数字被扔回袋子里,然后我们拿走了B,我们只是重复计算了。如果A 中的数字没有被退回,那么测试 x =c(A,B) 是合理的,因为我们所做的只是增加了样本的大小。

shapiro.test(x = c(A,B))

这些是否意味着数据是正态分布的?好吧,在帮助中我们看到了这个:

价值

...

p.value 检验的近似 p 值。这在 Royston (1995) 中说对于 p.value 是足够的

所以也许这已经足够了。但这取决于您的要求!

【讨论】:

  • 谢谢安迪,我还有一个简短的问题。为了能够应用t检验,A组和B组的数据应该是正常的样本空间?换句话说,shapiro.test(A)和Shapiro.test(B)的结果应该> 0.05?
  • @BahadorSaket 查看编辑。你需要自己决定这是否足够好。
猜你喜欢
  • 1970-01-01
  • 2020-03-11
  • 1970-01-01
  • 2021-05-12
  • 1970-01-01
  • 2021-10-22
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多