R在多汇总函数中,分位数不能正确显示结果
我使用data.table按组为不同的列生成多个函数。代码如下:R在多汇总函数中,分位数不能正确显示结果,r,quantile,R,Quantile,我使用data.table按组为不同的列生成多个函数。代码如下: library(data.table) # samle data x = rnorm(30) y = rnorm(30)+10 group = c(rep(1,11),rep(2,19)) dt = data.table(x,y,group) my.summary = function(x) list(length(x), sum(is.na(x)),
library(data.table)
# samle data
x = rnorm(30)
y = rnorm(30)+10
group = c(rep(1,11),rep(2,19))
dt = data.table(x,y,group)
my.summary = function(x) list(length(x),
sum(is.na(x)),
round(mean(x),3),
round(sd(x)/sqrt(length(x)),3),
round(sd(x),3),
round(min(x),3),
round(quantile(x,0.25),3),
round(median(x),3),
round(quantile(x,0.75),3),
round(max(x),3)
)
dt_des = dt[, lapply(.SD, my.summary), .SDcols = colnames(df),by=group]
除分位数函数外,所有功能均正常工作,显示:
“c(25%
=-0.508)”
“c(25%
=9.654)”
“c(75%
=0.48)”
“c(75%
=10.675)”
谁能帮我解决这个问题吗?谢谢 只需
unname
分位数功能:
my.summary = function(x) list(length(x),
sum(is.na(x)),
round(mean(x),3),
round(sd(x)/sqrt(length(x)),3),
round(sd(x),3),
round(min(x),3),
round(unname(quantile(x,0.25)),3),
round(median(x),3),
round(unname(quantile(x,0.75)),3),
round(max(x),3)
)
最后一行显示为:dt_des=dt[,lapply(.SD,my.summary),.SDcols=c(“x”,“y”),by=group]使用round(unname(分位数(x,0.25),3))
删除向量的名称。在本例中,colnames(df)
应该是colnames(dt)
?