【问题标题】:Converting number variable to date (formatted DD-MMM-YY)将数字变量转换为日期(格式为 DD-MMM-YY)
【发布时间】:2018-04-03 21:41:18
【问题描述】:

R 中的数据框。它显示了在不同日期发生的许多名称和事件。我需要将日期列显示为格式 02-Jan-16 而不是“2”(见第一行)。

您的任何建议将不胜感激。

NAME    date    modality
Name.1   2      HA
Name.2   2      H
Name.2   4      H
Name.2   6      H
Name.2   8      H
Name.2   9      H
Name.2   11     H
Name.2   13     H
Name.2   15     H
Name.2   16     H
Name.2   18     H
Name.2   20     H
Name.2   22     H
Name.2   23     H
Name.2   25     H
Name.2   27     H
Name.2   29     H
Name.2   30     H
Name.3   2      HA
Name.3   3      HA
Name.3   4      HA
Name.4   1      H
Name.4   2      H
Name.4   3      H
Name.4   4      H
Name.4   5      H
Name.4   6      H
Name.4   7      H
Name.4   8      H
Name.4   9      H
Name.4   10     H
Name.4   11     H
Name.4   12     H
Name.4   13     H
Name.4   14     H
Name.4   15     H
Name.4   16     H
Name.4   17     H
Name.4   18     H
Name.4   19     H
Name.4   20     H
Name.4   21     H
Name.4   22     H
Name.4   23     H
Name.4   24     H
Name.4   25     H
Name.4   27     H
Name.4   28     H
Name.4   29     H
Name.4   30     H
Name.4   31     H
Name.5   17     HA
Name.5   18     HA

只是 5 个名字的集合,还有更多需要处理

【问题讨论】:

  • 总是在 2016 年 1 月,还是月份和年份会发生变化?如果他们不这样做,您可以只 paste 一起约会然后转换。
  • 如果 date 超过 31,即从不同的月份开始,您始终可以执行类似 dplyr::mutate(dataframe, realDate = as.Date("2016-01-02"+date)) 的操作来创建新列(或使用 replace
  • 如果你总是使用 2016 年 1 月,你可以使用 dplyr::mutate(data,dete=paste0("2016-01",date))
  • 嗨@RolandoTamayo。日期和年份将发生变化。我有来自一年中不同时期的多个数据框。

标签: r date dataframe data-extraction


【解决方案1】:

由于日期列中只有一个数字,我假设它们是 2016 年 1 月的日期。我创建了一个数据框,类似于您的:

NAME <- c("Name1", "Name2", "Name3")
date <- c("2","2","4")
modality <- c("HA","H","H")
df <- data.frame(NAME, date, modality)

从这一点来看,paste 就可以解决问题

df$date <- paste(df$date,"Jan-16", sep="-")
df

如你所愿返回,

   NAME     date modality
1 Name1 2-Jan-16       HA
2 Name2 2-Jan-16        H
3 Name3 4-Jan-16        H

此外,您可以在日期列上使用as.Date 函数将它们转换为具有正确格式的日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多