[R] Calculer le nombre d’occurrence dans un tableau

Aller en bas

[R] Calculer le nombre d’occurrence dans un tableau Empty [R] Calculer le nombre d’occurrence dans un tableau

Message par Nantaise le Sam 2 Mar 2013 - 11:33

Bonjour,

Je suis en train de rédiger un compte rendu de TP et je bloque sur une question...
J'ai un échantillon de 1800 personnes ayant subit une greffe de rein, et ayant répondu aux questions qui composent les ~20 colonnes de mon tableau (age, sexe, imc etc)
Pour vous donner un aperçu :

> head(apprentissage)
id switch num.greffe sexeR ageR dgf sexeD ageD cmvD creatD cmvR ante.diab
1 1 1 1 1 70 1 1 73 0 73 1 0
2 2 0 1 1 30 0 0 31 1 59 1 0
3 3 0 1 1 37 0 1 23 0 55 1 1
4 4 0 1 1 64 0 0 71 0 80 1 1
5 5 0 1 0 53 0 1 45 0 74 1 1
6 6 0 1 0 60 0 0 46 0 NA 1 1
ante.hta cardiovasc ante.neo ante.uro incomp2cl code.deces2cl type.greffe2cl
1 1 1 0 0 0 1 1
2 0 1 0 0 0 0 1
3 1 1 0 0 0 0 0
4 1 1 0 1 0 1 1
5 1 1 0 0 0 0 1
6 1 1 0 0 0 1 1
relD.R2cl type.indu mal.ini2cl isc3cl imc3cl annee2cl creatD2cl ageR2cl
1 1 0 0 1 2 0 0 1
2 0 0 0 1 2 1 0 0
3 1 2 0 1 2 1 0 0
4 1 1 0 1 2 1 0 1
5 1 2 0 1 2 1 0 0
6 1 0 1 3 1 NA 1
rang.greffe2cl
1 0
2 0
3 0
4 0
5 0
6 0

Je dois faire un résumer de ceci dans un tableau, pour les variables quantitatives (moyenne, écart type, min, max, mediane, nombre de NA) et pour les variables qualitatives (effectifs, fréquences et nombre de NA).
J'ai donc commencé a faire une fonction, et pour le moment, le traitement des variables quantitatives est fait. Cependant, je bloque sur le traitement des variables qualitatives...
Ma fonction prend en argument le tableau que je souhaite analyser, et écrit a l'écran les tableaux qui résument les données.
Voici ma fonction :

mafonction <- function(x) {

#Création des tableaux séparants variables quantitatives et qualitatives
quanti <- x[,-c(1, 2, 3, 4, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 )]
quali <- x[,-c(1, 5, 8, 10)]

#Opérations sur le tableau des variables quantitatives
Moyenne <- colMeans(quanti, na.rm=TRUE)
Ecartype <- sapply(quanti, sd, na.rm=TRUE)
Min <- sapply(quanti, min, na.rm=TRUE)
Max <- sapply(quanti, max, na.rm=TRUE)
Mediane <- sapply(quanti, median, na.rm=TRUE)
NonAvailableQuanti <- apply(quanti,2,function(x) sum(is.na(x)))


#Opérations sur le tableau des variables qualitatives
Effectif1 <- apply(quali, 2, nrow(quali == 1))
Effectif0 <- apply(quali, 2, nrow(quali == 0))
#Frequence1 <- nrow(quali[quali == 1, ])/nrow(quali)*100
#Frequence0 <- 1 - Frequence1
NonAvailableQuali <- apply(quali,2,function(x) sum(is.na(x)))

#Remplissage des tableaux
outquanti <- data.frame(Moyenne, Ecartype, Min, Max, Mediane, NonAvailableQuanti)
outquali <- data.frame(Effectif1, Effectif0, NonAvailableQuali)

#On imprime les tableaux
print(outquanti)
print(outquali)
}

mafonction(data)
Je n'arrive pas à calculer le nombre de 1 par colonne et pareil pour le nombre de 0. (Car ce sont des variables a 2 modalités, 1 et 0)
Une fois que vous m'aurez débloquée sur ce point, je pourrais faire le calcul des fréquences sans problème...

Merci d'avance pour votre aide !

PS : je suis désolée mais je ne peux pas présenter mieux que cela le head de mes données, le forum décale tout...

Nantaise

Nombre de messages : 2
Date d'inscription : 02/03/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

[R] Calculer le nombre d’occurrence dans un tableau Empty Re: [R] Calculer le nombre d’occurrence dans un tableau

Message par Nik le Sam 2 Mar 2013 - 17:18

Salut,

Tes variables qualitatives n'en sont pas réellement. En termes de R ce sont des variables numériques sauf qu'elles ne prennent que 2 valeurs différentes : 1 ou 0. Mais finalement ça va grandement te simplifier la tache :

Code:
nL <- nrow(quali)
Effectif1 <- colSums(quali)
Effectif0 <- nL-Effectif1
Frequence1 <- Effectif1/nL
Frequence0 <- Effectif0 /nL

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

[R] Calculer le nombre d’occurrence dans un tableau Empty Re: [R] Calculer le nombre d’occurrence dans un tableau

Message par Nantaise le Lun 4 Mar 2013 - 10:11

Merci pour ta réponse !

Nantaise

Nombre de messages : 2
Date d'inscription : 02/03/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

[R] Calculer le nombre d’occurrence dans un tableau Empty Re: [R] Calculer le nombre d’occurrence dans un tableau

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum