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 :

ACP avec des NA


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 80
    Points : 34
    Points
    34
    Par défaut ACP avec des NA
    Bonjour,

    j'aimerais représenter mes données sur une ACP.

    Description de mon fichier: j'ai 3 variables mesurées:
    - variable 1: la taille des racines (mm)
    -variable 2: le poids des racines (g)
    -variable 3: le poids des plantes (Kg)

    et les variables qui peuvent influencer/expliquer ces mesures:
    -variété (N=5) (= unité expérimentale)
    -traitement (N=4) (3 traitements et un témoin non traité) (= grande parcelle)
    -Field treatment (oui/non) (= petite parcelle)
    -période d'observation dans le temps en mois (N=4) (une observation à 0 mois sur le control non traité puis des observations à 3,5 et 7 mois sur les plantes traitées avec différents produits (traitements) / l'échantillonnage est destructif)
    -année de l'essai (N=3 pour variable 1 et 2 et N=2 pour variable 3) = répétitions / random factor

    J'ai essayé avec le code ci-dessous mais ça ne fonctionne pas peut-être parce que j'ai des NA. Pouvez-vous m'aider s'il vous plait?

    Lorsque je fais l'ACP sur les 3 variables mesurées j'ai le message suivant:
    Warning in PCA(fi[, 6:7], scale.unit = TRUE, ncp = 5, graph = T) :
    Missing values are imputed by the mean of the variable: you should use the imputePCA function of the missMDA package
    Je me demandais aussi si il y avais un moyen d'ajouter les variables descriptives (variété, field-treatment, traitement, période d'observation, année) peut-être avec des couleurs ou formes différentes afin d'avoir une représentation des l'ensemble des données?

    Je mets mon fichier en PJ.

    Merci par avance.
    Salutations.

    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
    fi<-read.csv2("complete_file.csv", na.strings = "NA",header = TRUE)
    str(fi)
    head(fi)
    dim(fi)
    for (i in 6:ncol(fi)) {
      fi[, i] <- as.numeric(as.character(fi[, i]))
    }
    #ACP uniquement sur les variables actives????
    #library pour ACP:
    library(FactoMineR)
    library(httpuv)
    library(Factoshiny)
    library(missMDA)
    library(FactoInvestigate)
    library(Rcmdr)
    require(Factoshiny)
     
    res.pca = PCA(fi[,6:8], scale.unit=TRUE, ncp=5, graph=T) #ici ne fonctionne pas, peut être parce que j'ai des "NA"?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Bonjour,

    Chez moi pas de soucis. Attention un warning message ne veut pas dire que le code ne fonctionne pas mais apporte une alerte sur un point particulier.

    Ici le problème est qu'il y a bcp de NA dans les données. Or, une ACP ne supporte pas les données manquantes, et la fonction précise que les données manquantes ont été remplacées par des données manquantes. Ce qui n'est pas terrible. Je vous conseille de vous tourner le package missMDA pour compléter les données.

    VV

  3. #3
    Membre éclairé
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Points : 793
    Points
    793
    Par défaut
    1) le remplacement des NA par d'autres valeurs est clairement décrit. Si tu veux d'autres comportements, par exemples d'autres techniques d'imputation, vois par exemple le package missMDA mais il en existe d'autres.
    2) C'est une ACP, les variables descriptives que tu veux ajouter sont des facteurs et non des variables quantitatives. Dans ce cas, si tu veux les voir apparaitre, définis-les comme des variables qualitatives supplémentaires. Si tu veux réellement les utiliser comme variables actives, alors c'est une analyse à facteurs multiples qui faut réaliser (fonction MFA du package FactoMineR). Cependant tu peux avoir quelques problèmes d'analyse ou d'interprétation (cf. ma réponse à ta question sur lmer)

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 80
    Points : 34
    Points
    34
    Par défaut missMDA
    Bonjour,

    merci pour vos retour et conseils, je vais me tourner vers le package missMDA et voir ce que je peux faire. En effet mon idée ici était vraiment de pouvoir représenter l'ensemble de mes données graphiquement avec les points des variables mesurées puis une couleur , forme différente pour les variables explicatives dans le but de voir si il y a des groupes qui se forment; par exemple on pourrait voir que pour une année tous les poids de racines sont bas ou que pour un traitement tous les poids sont élevés et de voir aussi d'éventuelles interactions graphiquement. Je ais aussi regarder la fonction MFA.

Discussions similaires

  1. Connectivité avec des serveurs distants
    Par Ph. B. dans le forum XMLRAD
    Réponses: 8
    Dernier message: 07/02/2003, 13h16
  2. Réponses: 27
    Dernier message: 03/02/2003, 12h27
  3. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11
  4. Réponses: 2
    Dernier message: 06/12/2002, 07h50
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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