Home Forum Statistica con R Intervalli di confidenza

This topic contains 1 reply and has 2 voices.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #5254

    paolabruno22
    Participant

    Ciao a tutti,
    dovrei calcolare gli intervalli di confidenza per ogni media di tutte le variabili del mio dataset e in seguito plottarle.
    Ho provato con la funzione confint ,ma sembra non funzionare ; qualche suggerimento su come calcolarli e rappresentarli graficamente?

    #5264
    Davide Massidda
    Davide Massidda
    Moderator

    Ciao, ti ho scritto una funzione che puoi utilizzare per calcolare l’intervallo di confidenza della media. Basta che esegui questo codice in R e avrai a disposizione la funzione CI:

    CI <- function(x,alpha=0.05)
    {
        x <- x[!is.na(x)]
        m <- mean(x)
        z <- qnorm(1-alpha/2)
        s <- sd(x)/sqrt(length(x))
        confidence <- c("inf"=m-z*s,"sup"=m+z*s)
        return(confidence)
    }

    Ti lascio anche alcuni esempi di uso della funzione. Prima di tutto, mi costruisco un dataset di esempio:

    dati <- data.frame(
        v1 = c(8.3,10.6,13.5,11.1,7.5,12.7,13.0,10.7,11.3,12.5),
        v2 = c(14.8,9.3,NA,21.3,12.2,20.6,16.1,7.1,21.3,17.5),
        v3 = c(11,19,12,10,14,15,12,5,7,1),
        group = gl(2,5,labels=LETTERS[1:2])
    )

    Eccolo qui visualizzato:

    > dati
         v1   v2 v3 group
    1   8.3 14.8 11     A
    2  10.6  9.3 19     A
    3  13.5   NA 12     A
    4  11.1 21.3 10     A
    5   7.5 12.2 14     A
    6  12.7 20.6 15     B
    7  13.0 16.1 12     B
    8  10.7  7.1  5     B
    9  11.3 21.3  7     B
    10 12.5 17.5  1     B

    A questo punto, calcolo prima l’intervallo di confidenza della sola colonna v2, poi l’intervallo di confidenza di v1, v2 e v3 insieme:

    > CI(dati$v2)
         inf      sup 
    12.16753 18.98802 
    
    > sapply(dati[,1:3], CI)
               v1       v2        v3
    inf  9.895375 12.16753  7.383429
    sup 12.344625 18.98802 13.816571
Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.