【问题标题】:How to calculate confidence intervals for a vector? [closed]如何计算向量的置信区间? [关闭]
【发布时间】:2018-07-14 16:39:48
【问题描述】:

我有一个向量:

vector <- c(12, 17, 24, 35, 23, 34, 56)

如何在 R 中计算此向量的置信区间(90%、99%、95%)?

这是我想要的结果示例: enter image description here

【问题讨论】:

  • 置信区间可以为您想到的特定指标(总体参数)(例如平均值)定义/计算,而不是一组值(例如向量)。

标签: r confidence-interval


【解决方案1】:

这是一个根据 t 分布计算置信区间的函数:

confidence_interval <- function(vector, interval) {
  # Standard deviation of sample
  vec_sd <- sd(vector)
  # Sample size
  n <- length(vector)
  # Mean of sample
  vec_mean <- mean(vector)
  # Error according to t distribution
  error <- qt((interval + 1)/2, df = n - 1) * vec_sd / sqrt(n)
  # Confidence interval as a vector
  result <- c("lower" = vec_mean - error, "upper" = vec_mean + error)
  return(result)
}

以及您提供的向量和间隔的示例用法:

> vector <- c(12, 17, 24, 35, 23, 34, 56)
> confidence_interval(vector, 0.90)
   lower    upper 
17.97255 39.45602 
> confidence_interval(vector, 0.95)
   lower    upper 
15.18797 42.24060 
> confidence_interval(vector, 0.99)
    lower     upper 
 8.219946 49.208626  

还有this is the tutorial,我从那里开发了这个方法。

【讨论】:

  • 对于如此少量的观察,您应该使用 t 分布而不是正态分布。
  • @AlexW 谢谢,你是对的。我通过将正态分布替换为 t 来修改我的函数。
  • 你也可以这样做:> t.test(vector,conf.level = 0.95)
  • 太棒了。
猜你喜欢
  • 2017-11-05
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多