【问题标题】:Translate months in r from Italian to English将 r 中的月份从意大利语翻译成英语
【发布时间】:2019-04-24 10:58:05
【问题描述】:

我正在绘制一些数据,我需要创建一些箱线图。不同的类别是月份,由于我需要按顺序而不是按字母顺序显示它们,因此我将日期转换为带有

的因素
dd.tot$month <- factor(format(dd.tot$month, "%b"), 
                       levels=format(ISOdate(2000, 1:12, 1), "%b"))

由于我的系统语言(以及母语)是意大利语,dd.tot 数据框中的月份列是意大利语。 但我需要他们使用英文缩写(论文全是英文,这将是意大利语的唯一部分)。 我尝试使用不同的缩写创建一个新向量以应用于列

 mymonths <- c("Jan","Feb","Mar",
               "Apr","May","Jun",
               "Jul","Aug","Sep",
               "Oct","Nov","Dec")

dd.tot$month <- mymonths[ dd.tot$month ]

但是当我用ggplot 绘制它时,它们按字母顺序显示。我如何翻译它们并将它们作为一个因素?

【问题讨论】:

  • 您的级别必须按照您希望绘制月份的顺序。

标签: r date dataframe


【解决方案1】:

这是一些数据的示例,我们在其中解决了这两个问题。

# My data
df <- data.frame(mymonths = c("Jan","Feb", "Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),
                 somevalue = c(1:12))

# Plotting
library(ggplot2)
ggplot(df, aes(mymonths, somevalue)) + geom_bar(stat="identity")

# Fixing order
df$mymonths <- factor(df$mymonths, levels = c("Jan","Feb", "Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"))

# Plotting
ggplot(df, aes(mymonths, somevalue)) + geom_bar(stat="identity")

# Fixing labels
df$mymonths <- factor(df$mymonths, 
                      levels = c("Jan","Feb", "Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),
                      labels = c("Jan_cool","Feb_cool", "Mar_cool","Apr_cool","May_cool","Jun_cool","Jul_cool","Aug_cool","Sep_cool","Oct_cool","Nov_cool","Dec_cool"))

# Plotting
ggplot(df, aes(mymonths, somevalue)) + geom_bar(stat="identity")

【讨论】:

    【解决方案2】:

    您可以将本地语言设置为英语。只需输入:

     Sys.setlocale("LC_TIME", "English")
    

    那么你不必翻译它们,你可以像这样订购它们:

    mymonths <- format(seq.Date(from = as.Date("2018-01-01"), to = as.Date("2018-12-01"), by = "m"), "%b")
    
    dd.tot$month <- factor(format(dd.tot$month, %b), levels = mymonths)
    

    如果你想把它放回意大利语,只需输入

    Sys.setlocale("LC_TIME", "Italian")
    

    【讨论】:

    • 我试过了……它什么也没做。我得到一个 "[1] "English_United States.1252" " 作为回应,但是当我再次尝试绘图时,ggplot 仍然使用意大利语的月份缩写
    • 更改本地后必须再次运行整个代码
    猜你喜欢
    • 2020-03-15
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多