【问题标题】:Set column name ddply设置列名 ddply
【发布时间】:2013-08-26 11:01:34
【问题描述】:

如何设置汇总数据的列名

library(plyr)
ddply(data,.(col1,col2),nrow)

喜欢

ddply(data,.(col1,col2),function(x) data.frame(number=nrow(x)))

【问题讨论】:

  • 你看过?ddply的第一个例子吗?
  • 另外,您的 like in 示例有什么问题?
  • @Henrik,如果你的意思是ddply(dfx, .(group, sex), summarize, mean = round(mean(age), 2), sd = round(sd(age), 2)),我会这样做,但它看起来与函数声明的解释如此不同,以至于我无法映射第三个和第四个参数。
  • 我同意 Klaus 的观点,即可以改进文档结构。如果您不了解summarize 等,可能会有点混淆正在发生的事情和需要做什么。

标签: r plyr


【解决方案1】:

也许您正在寻找summarize(或mutatetransform,取决于您想要做什么)。

一个小例子:

set.seed(1)
data <- data.frame(col1 = c(1, 2, 2, 3, 3, 4),
                   col2 = c(1, 2, 2, 1, 2, 1),
                   z = rnorm(6))
ddply(data,.(col1,col2), summarize, 
      number = length(z), newcol = mean(z))
#   col1 col2 number     newcol
# 1    1    1      1 -0.6264538
# 2    2    2      2 -0.3259926
# 3    3    1      1  1.5952808
# 4    3    2      1  0.3295078
# 5    4    1      1 -0.8204684

【讨论】:

  • 您也可以使用分组变量,因此:length(col1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多