gpt4 book ai didi

r - 按降序排列 facet_wrap 图

转载 作者:行者123 更新时间:2023-12-05 01:39:47 24 4
gpt4 key购买 nike

我正在尝试使用 facet_wrap 绘图,默认情况下按字母顺序排列绘图。但是,所需的结果是按数字降序排列。

下面是我得到的:

library(tidyverse)

M <- data.frame(
A = LETTERS[1:10],
B = round(rnorm(10,200,50)),
C = letters[15:24]
)

ggplot(M, aes(A, B)) +
geom_bar(stat = "identity") +
facet_wrap(~C)

相反,我希望获得按 B 列降序排序的图

arrange(M, desc(B)) %>%
ggplot(aes(A, B)) +
geom_bar(stat = "identity") +
facet_wrap(~C) ## need it ordered by B

我知道一种方法是更改​​级别,但我不知道我可以在序列中的哪个位置以及如何进行更改。

最佳答案

您可以使用 forcats::fct_reorder 或 base 根据 B 的值(降序)对 C 的因子水平重新排序facet_wrap 内的重新排序:

library(tidyverse)

## data
M <- data.frame(
A = LETTERS[1:10],
B = round(rnorm(10,200,50)),
C = letters[15:24]
)

## using fct_reorder
ggplot(M, aes(x = A, y = B)) +
geom_bar(stat = "identity") +
facet_wrap(facets = ~fct_reorder(C, B, .desc = TRUE))

## using base reorder
ggplot(M, aes(x = A, y = B)) +
geom_bar(stat = "identity") +
facet_wrap(facets = ~reorder(C, -B)) ## -B to get descending order

关于r - 按降序排列 facet_wrap 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57613354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com