Rstudio和ggplot,堆叠的条形图:两位几乎完全相同的代码,fct_reorder可以使用一个,而不能使用另一个?]

问题描述 投票:0回答:1

我写的这条代码通过条形图上的计数完美地对变量mcr_variant进行了重新排序。

mcrxgenus%>%

mutate(mcr_variant = fct_reorder(mcr_variant,count))%>%

ggplot(aes(fill = isolate_genus,y = count,x = mcr_variant))+

geom_bar(position =“ stack”,stat =“ identity”)+

coord_flip()+

实验室(x =“ MCR变量”,y =“计数”,fill =“隔离属”)

我写这是为了显示同一数据集而有所不同。

mcrxgenus%>%

mutate(isolate_genus = fct_reorder(isolate_genus,count))%>%

ggplot(aes(fill = mcr_variant,y = count,x = isolate_genus))+

geom_bar(position =“ stack”,stat =“ identity”)+

coord_flip()+

实验室(x =“ Isolate genus”,y =“ Count”,fill =“ MCR变体”)

它不会按计数重新排序我的条形图。我完全不知道发生了什么。在我看来,这应该没有理由。 mcr_variant和isolate_genus都是类别变量。 mcr_variant具有12个级别,isolate_genus具有6个可能的级别。这是我唯一能想到的区别。有人遇到过这个问题吗?一直让我发疯!我不知道这里发生了什么!

我编写了此代码,它通过条形图上的计数完美地对变量mcr_variant进行了重新排序。 mcrxgenus%>%mutate(mcr_variant = fct_reorder(mcr_variant,count))%>%ggplot(aes(fill = isolate_genus,y = ...
ggplot2 geom-bar
1个回答
0
投票
当您堆叠钢筋时,就是在添加它们的值。默认情况下,fct_reorder取值的中位数。因此,如果MCR Variant A的计数为1、1、1、2、1,则其顺序将由中位数1确定,而其高度为计数之和6。同时,如果MCR Variant B具有2、3,其阶数为中位数2.5,但总和为5。
© www.soinside.com 2019 - 2024. All rights reserved.