我想将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
当我试着查看它给我的课程时
class("fluesse$Datum")
[1] "character"
当我尝试在data.frame上使用as.character
时,我错过了什么?
答案 0 :(得分:2)
嗯,[bin]$x=`/path/thirdparty/python/2.7/bin/python2.7 -V`
Python 2.7.8
[bin]$echo x
中的fluesse$Datum
已经属于str(.)
类,并且包含所有NAs。
然后在下面,您将显示另一个"Date"
,它是类“字符”,所以
fluesse$Datum
不起作用。
也许您只是通过调用两个版本as.character(.)
而不是说fluesse
和d.fl.1
来混淆自己(一个惯例喜欢用初始d.fl.2
表示数据集)?
答案 1 :(得分: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”。