2016-11-30 86 views
-4

我有类的数据框,包含名称,性别(女性,男性)和身高的变量。我需要根据性别计算高度变量的描述性统计。我想在输出中的以下内容,任何帮助将不胜感激。如何计算描述性统计

GenderFreqMeanMedianModeStdDevminmax

+0

提供一个[再现的](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r - 可重复的例子)的例子。 – Prradep

+0

没有数据?没有例子?请遵循如何发布问题的指导原则。谢谢 –

+0

你做了什么研究? – Elin

回答

0

尝试使用此

# 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

功能summarise()从包dplyr将是一个很好的解决方案:

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)) 

moda(x)是功能estimatin模式用于从连续可变样品:

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

谢谢你安德烈Kolyadin –

+0

在我的数据高度变量有缺失值,所以得到错误 summarise_impl(.data,点)错误:'x'包含缺失值 是否可能提及如果条件在上述过程 –

+0

作出一些编辑,现在应该工作 –