将数字变量转换为日期(格式化为DD-MMM-YY)

时间:2018-04-03 21:41:19

标签: r date dataframe data-extraction

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个名字的集合,还有更多要处理的内容

1 个答案:

答案 0 :(得分: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功能将其转换为具有适当格式的日期。