我想按组对数据进行排序,然后对每个组按不同的顺序(升序、无、降序)排序,但似乎 ggpubr
的 sort.val
参数只取值为长度 1. 我想知道有什么替代方法可以让输出在不进行大量修改的情况下达到预期的结果?
我将使用 mtcars
数据作为说明性示例。数据按cyl
组(3组)排序并按asc
顺序呈现,是否可以将三个组分配不同的排序顺序?比如说,“asc”、“none”、“desc”? (我试过 c("asc","none","desc")
,但没用)。
以下是我的最小工作示例。
# Require the package
library(ggpubr)
data("mtcars")
dfm <- mtcars
# Convert the cyl variable to a factor
dfm$cyl <- as.factor(dfm$cyl)
# Add the name colums
dfm$name <- rownames(dfm)
# Inspect the data
head(dfm[,c("name","wt","mpg","cyl")])
# Sort by group and by ascending order
ggbarplot(dfm,x = "name",y = "mpg",fill = "cyl",# change fill color by cyl
color = "white",# Set bar border colors to white
palette = "jco",# jco journal color palett.
sort.val = "asc",# Sort the value in dscending order
sort.by.groups = TRUE,# Sort inside each group
x.text.angle = 90 # Rotate vertically x axis texts
)