2

当我读入我的 .csv 文件并从字符串转换 start_date 时,日期很好,但似乎减少了时间

我的 csv 文件如下所示:

SAMPNUM,SITE,VISITNUM,entered_order,method,start_date,start_crew,end_date,end_crew
2002,165,4,736,leaf_litter,8/17/11 0:00,FSA,NA,NA
2003,172,4,737,leaf_litter,8/17/11 0:00,FSA,NA,NA
5004,122,4,21,pitfall,8/17/11 12:15,ADY SJT PSA JRW SWH,9/2/11 0:00,ADY
5005,123,4,22,pitfall,8/17/11 13:00,ADY SJT PSA JRW SWH,9/2/11 0:00,ADY

我首先在文件中阅读:

sample<-read.csv('SampleType.csv', header = TRUE, na.strings=c("NA",""))

看起来很好,我的数据看起来像:

2002    165 4   736 leaf_litter 8/17/11 0:00    FSA NA  NA
2003    172 4   737 leaf_litter 8/17/11 0:00    FSA NA  NA
5004    122 4   21  pitfall 8/17/11 12:15   ADY SJT PSA JRW SWH 9/2/11 0:00 ADY
5005    123 4   22  pitfall 8/17/11 13:00   ADY SJT PSA JRW SWH 9/2/11 0:00 ADY

但是当我尝试转换日期/时间时,我被卡住了。我试过丢东西,但我最好的是:

sample$start_date <- as.Date(sample$start_date, "%m/%d/%y %H:%M")
sample$end_date <- as.Date(sample$end_date, "%m/%d/%y %H:%M")

这使我的数据看起来像:

2002    165 4   736 leaf_litter 15203   FSA NA  NA
2003    172 4   737 leaf_litter 15203   FSA NA  NA
5004    122 4   21  pitfall 15203   ADY SJT PSA JRW SWH 15219   ADY
5005    123 4   22  pitfall 15203   ADY SJT PSA JRW SWH 15219   ADY

但是当我看价值观时

样品$start_date[3]

我得到:

[1] 《2011-08-17》

为什么不给出一天中的时间?

我确定我在做一些愚蠢的事情,这样的新手....提前谢谢!

4

1 回答 1

3

使用as.POSIXctstrptime

as.POSIXct("9/2/11 4:20", format="%m/%d/%y %H:%M",tz="GMT")
#[1] "2011-09-02 04:20:00 GMT"

strptime("9/2/11 4:20", format="%m/%d/%y %H:%M",tz="GMT")
#[1] "2011-09-02 04:20:00 GMT"

根据定义,类Date不包含有关一天中时间的信息。

于 2013-06-18T12:23:54.810 回答