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 sous R sur fichier excel et lignes d'erreurs en cascade


Sujet :

R

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut ACP sous R sur fichier excel et lignes d'erreurs en cascade
    Bonsoir

    Je dispose d'un fichier excel contenant la liste des 12 000 communes de France de plus de 100 bénéficiaires CAF (à titre indicatif le fichier en question est dispo sur le site de la CAF , voici le fichier que j'utilise : http://depositfiles.com/files/zuy1aktlo).

    Mon tableau fait donc 24 colonnes et 12 000 lignes. Une colonne avec le nom de la commune , et les 23 autres avec des indicateurs tous chiffrés ( nombre de personnes allocataires pour chaque ville , nombre de personnes bénéficiant du RSA , nombre de personnes bénéficiant des ARS, etc... ).

    Il est à noter que lorsqu'une ville ne contient pas un certain profil de bénéficiaire et bien les cellules restent vides (aucun chiffre).

    Je me pose la question suivante :

    - R peut-il réaliser une ACP / AFC ou ACM avec des valeurs manquantes dans un tableau? ( au passage j'ai tenté de remplacer les cellules vides par mais cela ne marche pas, mes cellules restent désespérément vides )

    Mon code est-il bon?

    Car quand je lance mon ACP sous R, chaque ligne n'est pas reconnue et j'ai droit à des dizaines de lignes d'erreur " erreur ligne de commande introuvable " ou encore " erreur chemin de données introuvable " .

    Voici le code :

    Code r : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    #librairie lecture fichier excel
    library(xlsReadWrite)
     
    #chargement des données dans la première feuille de calcul
    #première colonne = label des observations
    #les données sont dans la première feuille
    ville <- read.xls(file="c:/caf.xls",rowNames=T,sheet=1)
     
    #qqs vérifications
    #affichage
    print(ville)
    #statistiques descriptives
    summary(ville)
    #nuages de points
    pairs(ville)
     
    #partition des données (var. actives et illustratives)
    ville.actifs <- ville[,1:23]
     
     
    #nombre d'observations
    n <- nrow(ville.actifs)
    print(n)
     
    #*******************************
    # ACP avec la procédure princomp
    #*******************************
     
    #centrage et réduction des données --> cor = T
    #calcul des coordonnées factorielles --> scores = T
    acp.ville <- princomp(ville.actifs, cor = T, scores = T)
    #print
    print(acp.ville)
    #summary
    print(summary(acp.ville))
    #quelles les propriétés associées à l'objet
    print(attributes(acp.ville))
     
    #*************************
    #**** val. propres *******
    #*************************
     
    #obtenir les variances associées aux axes c.-à-d. les valeurs propres
    val.propres <- acp.ville$sdev^2
    print(val.propres)
     
    #scree plot (graphique des éboulis des valeurs propres)
    plot(1:6,val.propres,type="b",ylab="Valeurs propres",xlab="Composante",main="Scree plot")
     
    #intervalle de confiance des val.propres à 95% 
    val.basse <- val.propres * exp(-1.96 * sqrt(2.0/(n-1)))
    val.haute <- val.propres * exp(+1.96 * sqrt(2.0/(n-1)))
     
    #tableau
    tableau <- cbind(val.basse,val.propres,val.haute)
    colnames(tableau) <- c("B.Inf.","Val.","B.Sup")
    print(tableau,digits=3)
     
    #*************************************************
    #coordonnées des variables sur les axes factoriels
    #*************************************************
     
    #**** corrélation variables-facteurs ****
    c1 <- acp.ville$loadings[,1]*acp.ville$sdev[1]
    c2 <- acp.ville$loadings[,2]*acp.ville$sdev[2]
    #affichage
    correlation <- cbind(c1,c2)
    print(correlation,digits=2)
     
    #carrés de la corrélation
    print(correlation^2,digits=2)
     
    #cumul carrés de la corrélation
    print(t(apply(correlation^2,1,cumsum)),digits=2)
     
    #*** cercle des corrélations - variables actives ***
    plot(c1,c2,xlim=c(-1,+1),ylim=c(-1,+1),type="n")
    abline(h=0,v=0)
    text(c1,c2,labels=colnames(ville.actifs),cex=0.5)
    symbols(0,0,circles=1,inches=F,add=T)
     
    #***************************************************************
    #*** projection des individus dans le premier plan factoriel ***
    #***************************************************************
     
    #l'option "scores" demandé dans princomp est très important ici
    plot(acp.ville$scores[,1],acp.ville$scores[,2],type="n",xlab="Comp.1 - 74%",ylab="Comp.2 - 14%")
    abline(h=0,v=0)
    text(acp.ville$scores[,1],acp.ville$scores[,2],labels=rownames(ville.actifs),cex=0.75)
     
    #**************************************************************************************
    #*** représentation simultanée : individus x variables - cf. Lebart et al., pages 46-48
    #**************************************************************************************
    biplot(acp.ville,cex=0.75)
     
    #**************************************
    #*** contributions des individus actifs
    #**************************************
     
    #contributions à une composante - calcul pour les 2 premières composantes
    all.ctr <- NULL
    for (k in 1:2){all.ctr <- cbind(all.ctr,100.0*(1.0/n)*(acp.ville$scores[,k]^2)/(acp.ville$sdev[k]^2))}
    print(all.ctr)

    Merci d'avance.
    Dernière modification par A. D. ; 02/03/2012 à 11h51. Motif: orthographe

Discussions similaires

  1. Tracé graphique sur fichier excel depuis vba access
    Par kdestine dans le forum VBA Access
    Réponses: 0
    Dernier message: 26/09/2007, 12h37
  2. Horloge sur fichier Excel
    Par Micky58 dans le forum Excel
    Réponses: 5
    Dernier message: 23/04/2007, 19h40
  3. Requête sur fichier EXCEL
    Par christian51 dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 11/04/2007, 19h08
  4. Motifs de cellule sur fichier Excel sur Internet
    Par wanou44 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/07/2006, 08h53
  5. import gros fichier excel (>17000 lignes)
    Par samuelsiffert dans le forum Access
    Réponses: 12
    Dernier message: 05/07/2006, 08h48

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