我需要在 R 中找到一个序数(即有序因子)的中位数。
我在标准库中找不到执行此操作的方法,因此我想出了以下笨拙的解决方案:
ordinal.median <- function(x){
lbls <- levels(x)
new.vars <- c(NA, 1:length(lbls))
new.vars[1] <- median(as.numeric(x))
return(factor(new.vars, labels=lbls, ordered=T)[1])
}
在 R 中解决这个问题的惯用方法是什么?