我有一个这样结构的数据帧:
'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()