2016-11-30 2 views
-4

J'ai la trame de données de la classe, contient les variables de nom, sexe (féminin, masculin) et hauteur. J'ai besoin de calculer les statistiques descriptives pour la taille variable par sexe. Je veux ce qui suit dans la sortie, toute aide serait grandement appréciée.comment calculer des statistiques descriptives

Gender, Freq, Mean, Median, Mode, Std, Dev, min, max

+0

Fournir un ([reproductible] http://stackoverflow.com/questions/5963269/how-to-make-a-great-r -reproducible-exemple) exemple. – Prradep

+0

pas de données? pas d'exemples? S'il vous plaît suivez les directives sur la façon de poster une question. Merci –

+0

Quelles recherches avez-vous faites? – Elin

Répondre

0

essayer d'utiliser cette

# assuming df is your data.frame and gender, height are column names 
tapply(df$height, df$gender, function(grp) c(Freq = length(grp), mean = mean(grp),mode = mode(grp),SD = sd(grp),min = min(grp),max = max(grp))) 
1

Fonction summarise() du paquet dplyr serait une bonne solution:

library('dplyr') 
df %>% 
    na.omit %>% 
    group_by(gender) %>% 
    summarise(Freq = n(), #unshure, maybe n()/NROW(df) 
      Mean = mean(height), 
      Median = median(height), 
      Mode = moda(height), 
      Std.Dev = sd(height), 
      min = min(height), 
      max = max(height)) 

Lorsque moda(x) est fonction du mode estimatin pour l'échantillon de variable continue:

moda <- function(x, na.omit = TRUE){ 
    if (na.omit) x <- na.omit(x) 
    d <- density(x) 
    return(d$x[which.max(d$y)]) 
} 
+0

Merci Andrey Kolyadin –

+0

Dans ma variable de hauteur de données ayant des valeurs manquantes, donc obtenir l'erreur Erreur dans summarise_impl (.data, points): 'x' contient des valeurs manquantes Est-il possible de mentionner si la condition dans le processus ci-dessus –

+0

modifications, devrait fonctionner maintenant –