我正在尝试创建一个为不同数据列生成箱线图的函数。我想按 y 变量的升序对因子重新排序。当我不使用某个功能时它就有效,即
data(mpg)
ggplot(data = mpg) +
geom_boxplot(aes(fct_reorder(class, hwy), y = hwy))
结果如下:
但是如果我尝试创建一个函数来检查不同的变量,则会收到错误:
bp <- function(param){
parameter <- mpg[,param]
ggplot(data = mpg) +
geom_boxplot(aes(fct_reorder(class, parameter)))
}
bp("cty")
Error in fct_reorder(as.factor(class), parameter) :
length(f) == length(.x) is not TRUE
有人知道我做错了什么吗?
非常感谢!