使用另一个变量的describe函数

时间:2015-05-31 21:10:43

标签: r

对于示例数据框:

df1 <- structure(list(X = structure(1:9, .Label = c("a", "b", "c", "d", 
                                                    "e", "f", "g", "h", "i"), class = "factor"), col.1 = c(2.4, 5.6, 
                                                                                                           7.4, 3.5, 31.2, 2, 7.9, 5, 17.8), col.2 = structure(c(1L, 1L, 
                                                                                                                                                                 2L, 2L, 2L, 1L, 2L, 2L, 1L), .Label = c("cat", "dog"), class = "factor")), .Names = c("X", 
                                                                                                                                                                                                                                                       "col.1", "col.2"), class = "data.frame", row.names = c(NA, -9L
                                                                                                                                                                                                                                                       ))

我希望为col.1列创建摘要统计信息。虽然我通常会使用:

library(psych)
describe(df1$col.1)

我想要通过col.2创建describe中使用的摘要统计信息(这是示例中的字符,但可能是我的实际数据中的因素)。例如,我会得到猫和狗的摘要统计数据。

1 个答案:

答案 0 :(得分:0)

您可以使用tapply执行此条件分析:

tapply(df1$col.1, df1$col.2, describe)
# $cat
#   vars n mean   sd median trimmed  mad min  max range skew kurtosis   se
# 1    1 4 6.95 7.41      4    6.95 2.67   2 17.8  15.8 0.65    -1.77 3.71
# 
# $dog
#   vars n mean    sd median trimmed  mad min  max range skew kurtosis   se
# 1    1 5   11 11.43    7.4      11 3.56 3.5 31.2  27.7 1.01       -1 5.11