R 在多重汇总函数中,分位数未正确显示结果
R In multi-summarise function, quantile not showing result properly
我使用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
quantile
函数:
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)
)
我使用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
quantile
函数:
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)
)