【发布时间】:2017-03-29 17:14:17
【问题描述】:
如何以我的当地语言获取工作日和月份?
我的代码:
library(lubridate)
data <- c("10-02-2015", "11-03-2015")
data.lubri <- dmy(data)
wday(data.lubri, label=TRUE)
总是返回
[1] Tues Wed
Levels: Sun < Mon < Tues < Wed < Thurs < Fri < Sat
和
month(data.lubri, label = TRUE)
总是返回
[1] Feb Mar
Levels: Jan < Feb < Mar < Apr < May < Jun < Jul < Aug < Sep < Oct < Nov < Dec
我需要它的葡萄牙语,使用 lubridate,并且已经尝试了大量的语言环境选项,但似乎没有任何与 lubridate 相关的工作。
不过,基本函数 weekdays() 和 months() 可以工作。
问题是 basemonth() 在处理日期时给了我一个无序的向量。
我需要它们作为有序因子,以供以后绘制。
我目前的工作是弄脏我的手:
factor(months(data.lubri, abbreviate=TRUE),
levels = c("Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul",
"Ago", "Set", "Out", "Nov", "Dez"),
ordered=TRUE)
[1] Fev Mar
Levels: Jan < Fev < Mar < Abr < Mai < Jun < Jul < Ago < Set < Out < Nov < Dez
但这并不优雅......
【问题讨论】:
-
创建翻译和
merge()的查找表。 -
你对基函数有什么奇怪的反感吗?
-
哈哈哈,不。问题是:基准月份返回给我一个无序向量,而 lubridate 月份返回给我一个有序因子。它更适合按月绘制。
-
您可以轻松地将您的方法封装在一个函数中。