r 统计假设如何检验
Posted
技术标签:
【中文标题】r 统计假设如何检验【英文标题】:r statistic hypothesis how to test 【发布时间】:2015-01-21 13:36:03 【问题描述】:从均值为 80、典型偏差为 30 的正态分布中产生 10 个随机观测值 假设我们不知道分布的均值 μ。 使用样本,检查(测试)2个假设
H0 : µ = 80 vs H1 : µ 不等于 80。
重复该过程 100 次,每次只记录 p 值。 使用 5% 的显着性水平来评论您的结果 显示所有 p 值的值。
这就是我所做的
t<-c( rnorm(10, mean = 80, sd = 30))
t.test (y, mu = 80)
t.test(y, mu =80, alternative = ”greater”)$p.value
t.test(y, mu = 80, alternative = ”less”)$p.value
注意事项:
假设向量 y 中存储了样本的数据。 这个命令
t.test(y, mu = 9)
进行双边假设检查(检验),具体检查数据来自的分布的均值是否等于9,如果是单边检查命令是,
t.test(y, mu = 9, alternative = "greater") 或 t.test(y, mu = 9, 替代=“少”)
相应地。 这些命令给出了检查(测试)的结果,包括置信区间。如果有人只想要 p-value 的值,必须在 end 命令中添加 $p.value 。比如命令
t.test (y, mu = 9) $p.value
仅给出两侧检查(检验)假设的 p 值
【问题讨论】:
那么问题是什么? 你可以在一行中做到这一点replicate(100, t.test(rnorm(10, 80, 30), mu = 80)$p.value)
【参考方案1】:
[编辑:我假设这是为了学校作业,而你对 R 很陌生。]
不完全清楚您的问题是什么...但是,您的代码似乎包含一些错误..
您创建 10 个随机观测值,均值为 80 和 sd 30。您将这些观测值分配给向量 t。一开始这不是一个聪明的主意,因为 t 是转置的 R 命令 - 像这样使用重新定义保留名称不是一个好主意。
然后您使用 t.test 命令执行测试。请注意,在 R 中,与 Python 不同的是,“。”不引用对象的方法。因此,当您调用 t.test(y ... ) 时,您正在对尚未定义的观察向量 y 执行 t 检验。
您发布的注释假定您的观察向量实际上称为 y。如果您在 R 控制台中运行 ?t.test,您将看到 y 是 t.test 函数的参数的默认名称,它对应于观察向量。
你可能想要的是这个:
y<-c( rnorm(10, mean = 80, sd = 30))
t.test (y, mu = 80)
t.test(y, mu =80, alternative = "greater")$p.value
t.test(y, mu = 80, alternative = "less")$p.value
但请注意,您可以为观察向量使用任何合理的变量名称 - 您只想在正确的向量上调用 t.test。例如,
sample_observations <- c( rnorm(10, mean = 80, sd = 30))
t.test (sample_observations, mu = 80)
[编辑:粘贴的代码 sn-ps 中似乎有 unicode。现在已经解决了]
【讨论】:
您好,当您说它不起作用时,您的确切意思是什么?您收到什么错误消息? 如果您复制并粘贴了我的示例,您可能会遇到意外的输入错误。我刚刚从上面粘贴了您的代码 - 引号应该是“”而不是“”......后者似乎是某种 unicode 格式。 我建议只在您自己的计算机上使用 R。您需要运行此代码 100 次,这意味着您需要一个循环和一种方法来保存每次迭代的 p 值。 rawr 为该复制提供了最干净的解决方案(100, t.test(rnorm(10, 80, 30), mu = 80)$p.value)以上是关于r 统计假设如何检验的主要内容,如果未能解决你的问题,请参考以下文章