我使用R和ggplot2构建数据可视化,它将使用我数据集的特定列(称为MthYr
)中的值作为其x轴值。 MthYr
列是从另一列导出的,该列是名为Date
的日期列。的提取物如下所示:将列的值按特定顺序排序的最有效方法是什么?
Date MthYr
2014-06-05 Jun 2014
2014-07-30 Jul 2014
... ...
2017-08-03 Aug 2017
数据集来自一个CSV文件和MthYr
列是一个文本列。
我需要在ggplot2中创建一个图表,它将在x轴上使用MthYr
的值。我希望值进行正确排序,从2014年6月至8月2017年
回答这个问题计算器似乎确实提供了一个解决方案,但它是乏味的顺序明确写下来,从2014年6月至2017年8月: How to sort a character vector according to a specific order?
有没有另一种更有效的方法可以做到这一点?
您将需要确保您的日期列是一个日期对象,用于'scale_x_date'工作。您可以使用'as.Date'和格式参数将对象强制转换为日期。你的ggplot看起来像这样:'ggplot(data,aes(x = MthYr,y = some_variable)+ geom_point()+ scale_x_date(date_breaks =“1 month”,date_labels =“%M”)' –
因为你有月另一种解决方法是在某一天粘贴部分日期,比如'1',例如'as.Date(paste(“1”), ,“2014年6月”),“%d%b%Y”)' –