【发布时间】:2019-02-01 19:10:12
【问题描述】:
我已经定义了一个使用类 test 打印矢量的方法:
print.test <- function(x, ...) {
x <- formatC(
as.numeric(x),
format = "f",
big.mark = ".",
decimal.mark = ",",
digits = 1
)
x[x == "NA"] <- "-"
x[x == "NaN"] <- "-"
print.default(x)
}
适用于以下情况
a <- c(1000.11, 2000.22, 3000.33)
class(a) <- c("test", class(a))
print(a)
[1] "1.000,11" "2.000,22" "3.000,33"
这也有效:
round(a)
[1] "1.000,0" "2.000,0" "3.000,0"
这不是:
median(a)
[1] 2000.22
class(median(a))
[1] "numeric"
现在我的问题是:我需要为这个类编写一个自定义方法来使用中位数吗?如果是这样,它会是什么样子或者有其他方法(因为我只是希望这个类以某种格式打印数据)?
【问题讨论】:
-
您需要为
sort和mean定义方法,因为它们剥离了类属性,因此median也是如此。