【发布时间】:2021-10-07 00:28:33
【问题描述】:
我想按组对数据进行排序,然后为每个组按不同的顺序(升序、无序、降序)排序,但似乎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
)
【问题讨论】: