簡體   English   中英

R中的置信區間計算

[英]Confidence interval calculation in R

我在嘗試計算 R 中的 CI 時發現了差異:

x=c(25,30,15,45,22,54)

#IC 1
install.packages("Rmisc")
library(Rmisc)
CI(x,0.95) # [16.30429  ; 47.36238]

#IC2
lclm=mean(x)-(1.96*sd(x)/sqrt(length(x))) #19.99285
Uclm=mean(x)+(1.96*sd(x)/sqrt(length(x))) #43.67382

我想知道為什么我用這兩種方法沒有得到相同的間隔。 謝謝!

您的 1.96 是來自標准正態分布的所需分位數的近似值,隨着樣本量趨於無窮大,它漸近等效於學生 t 分布。 當您的樣本量為 N = 6 時,標准正態分布和學生 t 分布之間存在相當大的差異。

這是根據 Stéphane 的評論計算所需的分位數:

library(Rmisc)

x <- c(25, 30, 15, 45, 22, 54)

#IC 1
CI(x, 0.95) 
#>    upper     mean    lower 
#> 47.36238 31.83333 16.30429

#IC2
m <- mean(x)
s <- sd(x)
n <- length(x)
q <- qt(1 - 0.05 / 2, n - 1)
c(
  "upper" = m + q * s / sqrt(n), 
  "mean"  = m, 
  "lower" = m - q * s / sqrt(n)
)
#>    upper     mean    lower 
#> 47.36238 31.83333 16.30429

代表 package (v1.0.0) 於 2021 年 4 月 9 日創建

除了-mad-statter 和 Stéphane。

這是用於計算 Rmisc package 中 CI 的Rmisc

function (x, ci = 0.95) 
{
    a <- mean(x)
    s <- sd(x)
    n <- length(x)
    error <- qt(ci + (1 - ci)/2, df = n - 1) * s/sqrt(n)
    return(c(upper = a + error, mean = a, lower = a - error))
}

在這里您可以找到更多更深入的信息: https://stats.stackexchange.com/questions/467015/what-is-the-confidence-interval-formula-that-rmisc-package-in-r-uses

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM