在plyr中使用each
,前两个each
命令可以正常工作,但第三个命令会产生错误
错误:结果必须具有相同的尺寸。
三个each
命令的唯一区别在于第三个参数("mode"=...)
library(plyr)
each("mean"=function(x) ifelse(is.numeric(x),mean(x),NA)
, "median"=function(x) ifelse(is.numeric(x), median(x), NA)
, "mode"=function(x) names(which.max(table(x))))
each("mean"=function(x) ifelse(is.numeric(x),mean(x),NA)
, "median"=function(x) ifelse(is.numeric(x), median(x), NA)
, "mode"=function(x) ifelse(TRUE, names(which.max(table(x))), NA))
each("mean"=function(x) ifelse(is.numeric(x),mean(x),NA)
, "median"=function(x) ifelse(is.numeric(x), median(x), NA)
, "mode"=function(x) ifelse(is.factor(x), names(which.max(table(x))), NA))
我不明白为什么。