是否可以使用ddply来汇总数据而不需要按组分层?我尝试过类似的东西
ddply(df, summarize, a = sum(a, na.rm=T), b = sum(b, na.rm=T))
函数 ddply 将接受"empty"分组变量并对整个表执行分析 .
ddply
有子组:
ddply(baseball, .(lg), c("nrow", "ncol")) lg nrow ncol 1 65 22 2 AA 171 22 3 AL 10007 22 4 FL 37 22 5 NL 11378 22 6 PL 32 22 7 UA 9 22
没有子组:
ddply(baseball, .(), c("nrow", "ncol")) .id nrow ncol 1 <NA> 21699 22
谢谢安德莉!我需要使用函数 ldply() ,并将列表元素的名称输入 .id 变量,但 .() 返回缺失值,而非空参数例如 .(sex) 根据需要返回名称 . 我不知道 .id 中的缺失值是否是一个错误 . 我做了一个解决方法,但不是很方便:
ldply()
.id
.()
.(sex)
Reduce(rbind.fill, lapply(list(.(), .(sex)), function(x) { res <- ldply(d, function(y) ddply(y, x, summarize, otos=sum(sample.n), lab=sum(obs.n))) if (all(is.na(res$.id))) res$.id <- names(d) res }))
2 回答
函数
ddply
将接受"empty"分组变量并对整个表执行分析 .有子组:
没有子组:
谢谢安德莉!我需要使用函数
ldply()
,并将列表元素的名称输入.id
变量,但.()
返回缺失值,而非空参数例如.(sex)
根据需要返回名称 . 我不知道.id
中的缺失值是否是一个错误 . 我做了一个解决方法,但不是很方便: