Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 根据观察计数对箱线图x轴重新排序_R_Ggplot2_Tidyverse - Fatal编程技术网

R 根据观察计数对箱线图x轴重新排序

R 根据观察计数对箱线图x轴重新排序,r,ggplot2,tidyverse,R,Ggplot2,Tidyverse,在这个简化的例子中,我可以得到期望的结果,即x轴根据观察值的递减数量排序 但是,为了处理更多的级别(这些级别也会根据之前的筛选而有所不同),我希望计算顺序,而不是手动指定它们 我在这个网站上看过一些重新排序的例子,但是没有找到一个能处理大量观察结果的例子。有办法吗 library(tidyverse) library(ggplot2) data_df <- read_csv("fct, val\na, 12\nb, 12\nc, 2\nb, 14\nc, 4\nc, 6") data_df

在这个简化的例子中,我可以得到期望的结果,即x轴根据观察值的递减数量排序

但是,为了处理更多的级别(这些级别也会根据之前的筛选而有所不同),我希望计算顺序,而不是手动指定它们

我在这个网站上看过一些重新排序的例子,但是没有找到一个能处理大量观察结果的例子。有办法吗

library(tidyverse)
library(ggplot2)
data_df <- read_csv("fct, val\na, 12\nb, 12\nc, 2\nb, 14\nc, 4\nc, 6")
data_df <- data_df %>% 
  mutate(fct2 = factor(fct, levels = c("c", "b", "a")))
ggplot(data_df) +
 geom_boxplot(aes(fct2, val)) 
库(tidyverse)
图书馆(GG2)

数据dfA
tidyverse
解决方案是使用软件包中的
fct\u informeq
功能

例如:

library(forcats)
library(ggplot2)

ggplot(mtcars, aes(fct_infreq(as.factor(cyl)), mpg)) + geom_boxplot()

# Count of each cylinder type
table(mtcars$cyl)
# 4  6  8 
# 11  7 14 

一个
tidyverse
解决方案是使用软件包中的
fct_informeq
功能

例如:

library(forcats)
library(ggplot2)

ggplot(mtcars, aes(fct_infreq(as.factor(cyl)), mpg)) + geom_boxplot()

# Count of each cylinder type
table(mtcars$cyl)
# 4  6  8 
# 11  7 14 
data\u df$fct3
data\u df$fct3