r语言 - ggplot2:按递增/递减顺序排列的条形图



我有一个这样结构的数据帧:

'data.frame':   1000 obs. of  10 variables:
$ Age        : Factor w/ 3 levels "Middle","Old",..: 2 1 3 1 1 3 1 1 1 2 ...
$ Gender     : Factor w/ 2 levels "Female","Male": 1 2 1 2 1 2 1 2 1 2 ...
$ OwnHome    : Factor w/ 2 levels "Own","Rent": 1 2 2 1 1 1 2 1 1 1 ...
$ Married    : Factor w/ 2 levels "Married","Single": 2 2 2 1 2 1 2 2 1 1 ...
$ Location   : Factor w/ 2 levels "Close","Far": 2 1 1 1 1 1 1 1 1 2 ...
$ Salary     : int  47500 63600 13500 85600 68400 30400 48100 68400 51900 80700 ...
$ Children   : int  0 0 0 1 0 0 0 0 3 0 ...
$ History    : Factor w/ 3 levels "High","Low","Medium": 1 1 2 1 1 2 3 1 2 NA ...
$ Catalogs   : int  6 6 18 18 12 6 12 18 6 18 ...
$ AmountSpent: int  755 1318 296 2436 1304 495 782 1155 158 3034 ...

,并希望用geom_bar()Age制作条形图:

Age : 
Middle:508
Old   :205
Young :287

当我运行下面的代码时:

age_plt <- ggplot(data = df, aes(x = Age))
age_plt + geom_bar()

我希望ggplot按递增顺序绘制plot(第一个Old,第二个Young和最后一个Middle)。

我如何将此功能添加到我的代码中?(最好不使用任何其他变量,因为在接下来的步骤中,我想为相同的plot添加一些新功能(例如将plot与Gender列分组))

更改Age的因子顺序之前ggplot

library(tidyverse)
df%>%
mutate(Age = fct_relevel(Age,"Old","Young"))%>%
ggplot(aes(x = Age)) +
geom_bar()

最新更新