从正态分布产生10个随机观测值,平均值为80,典型偏差为30让我们假设我们不知道分布的平均μ。 使用样本,检查(测试)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, alternative =“less”)
相应。 这些命令给出检查(测试)的结果,包括置信区间。如果有人只想要p值的值,则必须在end命令中添加$ p.value。例如,命令
t.test(y,mu = 9)$ p.value
仅给出双侧检查(测试)假设的p值
答案 0 :(得分:1)
[编辑:我假设这是一个学校作业,你是R的新手。]
不完全清楚您的问题是什么......但是,您的代码似乎包含一些错误..
使用平均值80和sd 30创建10个随机观测值。将这些观测值分配给矢量t。这不是一个明智的想法,因为t是用于转置的R命令 - 使用这样的重定义保留名称不是一个好主意。
然后使用t.test命令执行测试。请注意,在R中,与Python不同,&#34;。&#34;不是指对象的方法。所以当你调用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)
[编辑:粘贴的代码片段中似乎有unicode。现在已经修好了]