r在summary.default中更改分位数'type'

时间:2014-12-01 04:29:40

标签: r quantile

问题

this question询问了不同的分位数types之后,是否可以在使用type函数时更改quantile的{​​{1}}参数?

例如,获取数据集

summary()

我很高兴

d <- c(11, 4, 1, 4, 2, 2, 6, 10, 5, 6, 0, 6, 3, 3)

quantile(d, probs=0.25, type=6)

生成不同的结果,quantile(d, probs=0.25, type=7) 中使用的默认typesummary。是否可以告诉type=7使用summary

备注/输出

type=6

1 个答案:

答案 0 :(得分:2)

基于akrun的想法,您可以修改summary.default

mySummary <- summary.default
body(mySummary)[[3]][[3]][[4]][[3]][[4]] <- 
    quote(qq <- stats::quantile(object, type = type))
formals(mySummary) <- c(formals(mySummary), type = 6)

现在type默认为6

args(mySummary)
# function (object, ..., digits = max(3L, getOption("digits") - 
#     3L), type = 6) 
# NULL
mySummary(d)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#    0.0     2.0     4.0     4.5     6.0    11.0 
mySummary(d, type = 7)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
#   0.00    2.25    4.00    4.50    6.00   11.00 

mySummary仍然维护summary.default对象的属性

attributes(mySummary(d))
# $names
# [1] "Min."    "1st Qu." "Median"  "Mean"    "3rd Qu." "Max."   
#
# $class
# [1] "summaryDefault" "table"