R在多汇总函数中,分位数不能正确显示结果

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)),

我使用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)), 
                              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)