首页 文章

as.date收到R data.frame中的NA [复制]

提问于
浏览
0

这个问题在这里已有答案:

请帮我将 characters 转换为 date 格式

as.datestrptime 不起作用......

c <- data.frame(id = c('1', '2', '3', '4'), Date = c("01-Feb-16","03-May-15","24-Oct-14","20-Oct-12"))
c$Date <- as.character(c$Date)
str(c)

然后我正在尝试使用代码:

c$Date <- as.Date(c$Date, format = "%d-%b-%y")

要么

c$Date <- strptime(c$Date, '%d-%b-%y')

我收到了 NA

1 回答

  • 1

    您的日期采用德语格式,带有英文月份名称 . 在您的代码之前尝试此操作:

    c <- data.frame(lapply(c, function(y) {
    y <- gsub("May", "Mai", y); y
    y <- gsub("Oct", "Okt", y); y
    }))
    
    c$Date1 <- as.Date(c$Date, format = "%d-%b-%y")
    c$Date2 <- strptime(c$Date, '%d-%b-%y')
    c
    
    # id      Date      Date1      Date2
    # 1  1 01-Feb-16 2016-02-01 2016-02-01
    # 2  2 03-Mai-15 2015-05-03 2015-05-03
    # 3  3 24-Okt-14 2014-10-24 2014-10-24
    # 4  4 20-Okt-12 2012-10-20 2012-10-20
    

相关问题