首页 文章

as.Date转换数据框中的日期[关闭]

提问于
浏览
0

我想将as.Date的整列转换为日期格式 .

str(fluesse)
'data.frame':   1049 obs. of  28 variables:
$ Datum                      : Date, format: NA NA NA ...

日期的格式如下:

07.08.14

这是我试过的

as.Date(as.character("07.08.14"), format="%d.%m.%y")
[1] "2014-08-07"
as.Date(as.character(fluesse$Datum), format = "%d.%m.%y")
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

fluesse$Datum 中我总是得到NA的条目

当我试着检查它给我的课程时

class("fluesse$Datum")
[1] "character"

当我尝试在data.frame上使用 as.character 时,我错过了什么?

2 回答

  • 2

    那么, str(.) 中的 fluesse$Datum 已经是所有NA的 "Date" 类 . 然后在下面,你显示另一个 fluesse$Datum 类"character",所以 as.character(.) 将没有效果 .

    也许你只是通过调用两个版本_1220315而不是说 d.fl.1d.fl.2 (一个惯例喜欢用初始 d. 来表示数据集)来混淆自己?

  • 1

    对于所有日期转换...尝试“lubridate”包总是有帮助的 . 像dmy_hms,mdy_hms这样的函数有助于解析几乎任何日期格式 . 只需安装包并玩它 . 我想你会弄清楚自己 . 你可以试试这个:

    > library(lubridate)
    > x <- "07.08.14"
    > x <- dmy(x)
    > as.Date(x, format="%d.%m.%y")
    [1] "2014-08-07"
    

    代替“x”你可以把你的日期向量和尝试 .

    另一种可能性是,数据尚未从源读入,因此日期向量上的class()给出字符“NA” .

相关问题