按时间顺序在ggplot barplot中组织数月

时间:2017-12-24 00:41:49

标签: r date ggplot2 dplyr

我按时间顺序月份而不是按字母顺序组织情节很困难,而这里提出的其他问题都没有回答。

我正在使用www.kaggle.com上的us_perm_visas.csv数据集 https://www.kaggle.com/nsharan/h-1b-visa

为了制作这个特定的情节,我在dplyr中创建了以下df,称为“certjob”:

$(function(){
$("#includedContent").load("Heading.html"); 
});

我知道我应该学会如何考虑因素,但是嘿。这会产生一个书面月份列和一个数字月份列。

这是我的情节:

certjob <- visas %>% 
  select(decision_date,case_status,country_of_citzenship,employer_city,
     employer_name,employer_state,application_type,naics_2007_us_title)
certjob <- certjob %>% 
mutate(month = month(decision_date),
     months = months(decision_date)) %>% 
arrange(month)

它看起来像这样:

ggplot

如何根据他们在排列的地块中的顺序安排几个月?它们仍按字母顺序排列。

谢谢!

本杰明

1 个答案:

答案 0 :(得分:1)

是的,这绝对是一个使用因素会让事情变得更容易的情况:

certjob <- certjob %>% 
  mutate(month = factor(
    month(decision_date, label = FALSE),   # thing you're converting
    1:12,                                  # values it could take
    labels =                               # how they should appear
      c("Jan", "Feb", "Mar", "Apr",
      "May", "Jun", "Jul", "Aug",
      "Sep", "Oct", "Nov", "Dec"),
    ordered = TRUE))                       # does what it says on the tin