如何在不使用 confint 的情况下计算 R 中均值的置信区间
How can I calculate confidence interval for a mean in R not using confint
我正在尝试解决一个问题,尝试生成随机指数分布和均匀分布并从中抽样。然后我使用 confint(); 计算线性模型对它们的置信区间;但是,我不知道如何使用 mean、sd 和 qt 获得我从 confint() 获得的正确置信区间水平。
这是我目前的情况:
x <- rexp(30, rate=1); x
confint(lm(x~1))
summary(lm(x~1))$coefficients
mean(x)
sd(x)
x.std.error <- sd(x)/sqrt(30)
我也不确定,如何使用 runif 命令执行此操作,所以如果我能获得这方面的帮助,那将非常有帮助
confint
在这种情况下的结果就是普通的 classical 95% confidence interval for a population mean。区间以样本均值 (mean(x)
) 为中心,误差范围是您找到的标准误差 (x.std.error
),乘数来自 t 分布 (qt(0.975, 29)
). (这给出了自由度为 29 的 t 分布的第 97.5 个百分位数;在这种情况下,"degrees of freedom" 可以视为比样本量少一个。)
要恢复 confint(lm(x~1))
提供的置信区间,您可以使用:
mean(x) - qt(0.975, 29) * x.std.error
mean(x) + qt(0.975, 29) * x.std.error
或等价地,也许更直观:
mean(x) + qt(0.025, 29) * x.std.error # qt(0.025, 29) = -qt(0.975, 29)
mean(x) + qt(0.975, 29) * x.std.error
当您说您不确定如何使用 runif
执行此操作时,我不太确定您的意思,但大概它与您所做的基本过程相同,但替换了第一个与 runif(30, 10, 15)
一致,30 个变量均匀分布在区间 [10, 15] 上(作为示例)。
我正在尝试解决一个问题,尝试生成随机指数分布和均匀分布并从中抽样。然后我使用 confint(); 计算线性模型对它们的置信区间;但是,我不知道如何使用 mean、sd 和 qt 获得我从 confint() 获得的正确置信区间水平。
这是我目前的情况:
x <- rexp(30, rate=1); x
confint(lm(x~1))
summary(lm(x~1))$coefficients
mean(x)
sd(x)
x.std.error <- sd(x)/sqrt(30)
我也不确定,如何使用 runif 命令执行此操作,所以如果我能获得这方面的帮助,那将非常有帮助
confint
在这种情况下的结果就是普通的 classical 95% confidence interval for a population mean。区间以样本均值 (mean(x)
) 为中心,误差范围是您找到的标准误差 (x.std.error
),乘数来自 t 分布 (qt(0.975, 29)
). (这给出了自由度为 29 的 t 分布的第 97.5 个百分位数;在这种情况下,"degrees of freedom" 可以视为比样本量少一个。)
要恢复 confint(lm(x~1))
提供的置信区间,您可以使用:
mean(x) - qt(0.975, 29) * x.std.error
mean(x) + qt(0.975, 29) * x.std.error
或等价地,也许更直观:
mean(x) + qt(0.025, 29) * x.std.error # qt(0.025, 29) = -qt(0.975, 29)
mean(x) + qt(0.975, 29) * x.std.error
当您说您不确定如何使用 runif
执行此操作时,我不太确定您的意思,但大概它与您所做的基本过程相同,但替换了第一个与 runif(30, 10, 15)
一致,30 个变量均匀分布在区间 [10, 15] 上(作为示例)。