Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
[R] Calculer le nombre d’occurrence dans un tableau
2 participants
Page 1 sur 1
[R] Calculer le nombre d’occurrence dans un tableau
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...
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
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
Re: [R] Calculer le nombre d’occurrence dans un tableau
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 :
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 : 1606
Date d'inscription : 23/05/2008
Re: [R] Calculer le nombre d’occurrence dans un tableau
Merci pour ta réponse !
Nantaise- Nombre de messages : 2
Date d'inscription : 02/03/2013
Sujets similaires
» Cherche tableau nombre d'habitants par commune
» Intercaler des lignes dans un tableau
» Test de significativité dans un tableau croisé
» Création d'un nouvelle variables dans un tableau.
» Problème dans le package ensembleBMA dans R
» Intercaler des lignes dans un tableau
» Test de significativité dans un tableau croisé
» Création d'un nouvelle variables dans un tableau.
» Problème dans le package ensembleBMA dans R
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum