【问题标题】:Is there a format for years datas?有年份数据的格式吗?
【发布时间】:2019-09-17 14:42:03
【问题描述】:

我的数据集中有 1988 年到 2019 年的年份。

我这样做是为了将其用作因素(用于图表等):

DTA$ANNEE <- as.factor(DTA$ANNEE)

但是,我想在这个数据集上使用其他函数,比如:

max(DTA$ANNEE)
max(DTA$ANNEE-1) # By the way, is it the right syntax for : 2019-1 = 2018 ?
max(DTA$ANNEE-2)
max(DTA$ANNEE-3)
max(DTA$ANNEE-4)
max(DTA$ANNEE-5)

我尝试使用DTA$ANNEE &lt;- as.numeric(DTA$ANNEE),但 2019 变成了“1”,2018 变成了“2”,2017 变成了“3”,等等。我不明白。

这样做的目的是获取我数据集的最后五年,并用它重命名其他表上的列。

年有特定的格式吗?

例如,这个功能会起作用吗?

droplevels(DTA[DTA$ANNEE %in% max(DTA$ANNEE-2), ])

谢谢

【问题讨论】:

  • 那是因为它是一个因素。试试DTA$ANNEE &lt;- as.numeric(as.character(DTA$ANNEE))
  • 当您需要年份作为因素时,使用as.factor() 可能比其他方式更好。大多数图表甚至不需要它作为一个因素,因为它无论如何都是序数。
  • 哦,谢谢,好像没问题 :) 另外,我下一个目的的正确方法是 max((DTA$ANNEE)-1)。

标签: r


【解决方案1】:
as.numeric(as.character(DTA$ANNEE))

【讨论】:

    【解决方案2】:

    根据您的描述,简单地为您的因子和数字数据设置一列可能会很有用。

    DTA$ANNEE_factor <- as.factor(DTA$ANNEE)
    

    根据您想要数字还是因子年份,使用正确的列。

    注意:数字年份应为 2019。如果值为“2019”(带引号),则将其视为字符值。

    【讨论】:

      【解决方案3】:

      感谢大家的反馈,效果很好:)

      在发布我的结果之前,我需要像这样重命名列:

      colnames(base_graphs)[3] <- "ANNEE_" + max(DTA$ANNEE)
      

      它不起作用.. 有没有办法在 colname 中添加“文本”+ 函数?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-12
        • 1970-01-01
        • 1970-01-01
        • 2017-08-01
        • 2019-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多