IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Extraction de la p-value d'un summary


Sujet :

R

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur
    Inscrit en
    Novembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2015
    Messages : 9
    Points : 14
    Points
    14
    Par défaut Extraction de la p-value d'un summary
    Bonjour,

    Je me permets d'ouvrir une nouvelle discussion, car je ne trouve pas la réponse dans les éléments déjà posté.

    En reprenant l'exemple utilisé par Charlottes dans la discussion " Extraire une pvalue d'un lm", est-il possible d'extraire la p-value suivante (en rouge dans le code) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Call:
    lm(formula = Tableau3$Temps ~ Tableau3[, colonne_calcium3], data = Tableau3)
     
    Residuals:
        Min      1Q  Median      3Q     Max 
    -22.754 -12.063  -2.205  11.370  23.462 
     
    Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)
    (Intercept)                  1.023e+02  6.834e+01   1.497    0.144
    Tableau3[, colonne_calcium3] 5.000e-05  9.221e-05   0.542    0.591
     
    Residual standard error: 14.43 on 33 degrees of freedom
    Multiple R-squared: 0.008832,	Adjusted R-squared: -0.0212 
    F-statistic: 0.294 on 1 and 33 DF,  p-value: 0.5913 
    Identique dans le cas d'un lm à un facteur mais différente dès qu'on passe à plus d'un facteur.

    D'avance merci pour votre aide.

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Voici une manière de procéder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    # EXEMPLE
    data(mtcars)
     
    mod <- lm(mpg ~ wt + drat, data = mtcars)
     
    resume <- summary(mod)
    resume
    # Call:
    # lm(formula = mpg ~ wt + drat, data = mtcars)
    # 
    # Residuals:
    #   Min      1Q  Median      3Q     Max 
    # -5.4159 -2.0452  0.0136  1.7704  6.7466 
    # 
    # Coefficients:
    #             Estimate Std. Error t value Pr(>|t|)    
    # (Intercept)   30.290      7.318   4.139 0.000274 ***
    # wt            -4.783      0.797  -6.001 1.59e-06 ***
    # drat           1.442      1.459   0.989 0.330854    
    # ---
    # Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    # 
    # Residual standard error: 3.047 on 29 degrees of freedom
    # Multiple R-squared:  0.7609,    Adjusted R-squared:  0.7444 
    # F-statistic: 46.14 on 2 and 29 DF,  p-value: 9.761e-10
     
    names(resume)
    # [1] "call"          "terms"         "residuals"     "coefficients" 
    # [5] "aliased"       "sigma"         "df"            "r.squared"    
    # [9] "adj.r.squared" "fstatistic"    "cov.unscaled" 
     
    F <- resume$fstatistic
    F
    #    value    numdf    dendf 
    # 46.14331  2.00000 29.00000
     
    ma_pvalue <- pf(F[1], F[2], F[3], lower.tail = FALSE)
    ma_pvalue
    #       value 
    # 9.76076e-10
    Il y a peut-être plus simple mais je ne connais pas...
    Pour voir le détail de l'utilisation de la fonction "pf" : ?pf .

    HTH !


    Cordialement,


    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Points : 461
    Points
    461
    Par défaut
    Il n'y a effectivement pas d'autre moyen puisque la p value est calculée seulement à l'appel de print.summary.lm -avec pf-.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (!is.null(x$fstatistic)) {
      cat("Multiple R-squared: ", formatC(x$r.squared, digits = digits))
      cat(",\tAdjusted R-squared: ", formatC(x$adj.r.squared, 
                                             digits = digits), "\nF-statistic:", formatC(x$fstatistic[1L], 
                                                                                         digits = digits), "on", x$fstatistic[2L], "and", 
          x$fstatistic[3L], "DF,  p-value:", format.pval(pf(x$fstatistic[1L], 
                                                            x$fstatistic[2L], x$fstatistic[3L], lower.tail = FALSE), 
                                                         digits = digits))
      cat("\n")
    }

    En règle générale, regarder le code source (?stat:::print.summary.lm) est un bon moyen quand on a pas d'idées pour trouver comment récupérer des bouts de sortie R affichées par print.

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 20h49
  2. EXTRACT VALUE dans un where
    Par opensource dans le forum SQL
    Réponses: 0
    Dernier message: 17/09/2010, 14h09
  3. Extraction d'une p-value en sortie de test
    Par RémiCA33 dans le forum R
    Réponses: 2
    Dernier message: 17/06/2010, 08h43
  4. [tables systèmes] extraction de la structure d'une base
    Par laffreuxthomas dans le forum Autres SGBD
    Réponses: 6
    Dernier message: 23/03/2006, 13h24
  5. Extraction des phrases d'un Texte
    Par LE CHAKAL dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2002, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo