【问题标题】:summary of median values in a 3x3 table in RR中3x3表格中的中值汇总
【发布时间】:2015-07-29 07:23:03
【问题描述】:

获取一些通用数据

set.seed(123)
A <- sample(1997:2000, 50, replace=TRUE)
B <- sample(1:3, 50, replace=TRUE)
C <- rnorm(50)
df <- data.frame(A,B,C)

我想为每个A 值(年份)创建一个汇总表,然后每个B 值(类型)将打印相应的中位数C

我试过下面的代码

参考this网站

mytable <- table(df$A, df$B, median(df$C))
ftable(mytable)

here

require(plyr)
ddply(df, .(A), summarize,
      type=unique(B),
      median=median(C))

但似乎两者都不起作用。所需的输出应类似于以下内容:

【问题讨论】:

  • ddply(df, .(A, B), summarize, median=median(C))

标签: r median summary


【解决方案1】:

使用data.table 包的替代解决方案:

library(data.table)
dt <- data.table(df)
dt[, .(median = median(C)), by = c("A", "B")][order(A, B)]

【讨论】:

    【解决方案2】:

    使用dplyr 的简单解决方案是:

    df %>%
        group_by(A,B)%>%
        summarise(C = median(C))
    

    阅读上面的代码:
    第一组按 A 和 B,然后按每组的中位数汇总 C。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多