我如何使用month.abb并停止按字母顺序排列月份?

max*_*oda 1 r ggplot2

我有这个数据框,我正在尝试正确地订购月份.如你所知,如果我绘制这个,我将按字母顺序排列,这是我不想要的.

months  frequency   regions
April   4   Arizona
August  129 Arizona
December    43  Arizona
February    71  Arizona
January 89  Arizona
July    93  Arizona
June    11  Arizona
March   37  Arizona
May 6   Arizona
November    14  Arizona
October 28  Arizona
September   63  Arizona
Run Code Online (Sandbox Code Playgroud)

因此,我使用此代码将级别转换为简短形式,这也使得ggplot按照所需的月份顺序排列.但是,我将在本月获得所有NAs作为输出.问题是什么?

df$months<-factor(df$months, levels=month.abb)


months  frequency   regions
NA  4   Arizona
NA  129 Arizona
NA  43  Arizona
NA  71  Arizona
NA  89  Arizona
NA  93  Arizona
NA  11  Arizona
NA  37  Arizona
May 6   Arizona
NA  14  Arizona
NA  28  Arizona
NA  63  Arizona
Run Code Online (Sandbox Code Playgroud)

MrF*_*ick 5

因子的水平必须与观察值匹配.如果要更改这些值的打印方式,则需要更改标签.尝试

df$months <- factor(df$months, levels=month.name, labels=month.abb)
Run Code Online (Sandbox Code Playgroud)