5

我创建了一个类似这样的文件:

> filesInside
         Date         Time
1  01:09:2013 10:35:49.997 
2  01:09:2013 10:35:50.197

我怎么可能使用

as.POSIXct()

我应该得到这样的东西:

> as.POSIXct("2013-09-01 10:35:50")
[1] "2013-09-01 10:35:50 NZST" 

我怎样才能使它成为一个函数?

到目前为止我的代码:

DateTime <- as.POSIXct(paste(filesInside$Date, filesInside$Time), format="%Y%m%d %H%M%S")

请感谢一些帮助。干杯

4

2 回答 2

3

你可以试试这个。日期时间组件和分隔符的顺序format应反映要转换的对象中的顺序。另请参阅?strptime

with(filesInside,
     as.POSIXct(paste(Date, Time),
                format = "%d:%m:%Y %H:%M:%S",
                tz = "NZ"))
# [1] "2013-09-01 10:35:49 NZST" "2013-09-01 10:35:50 NZST"
于 2013-10-25T00:11:34.263 回答
2
library(lubridate)
dmy_hms(apply(filesInside, 1, paste, collapse=" "), tz="NZ")
# [1] "2013-09-01 10:35:49 NZST" "2013-09-01 10:35:50 NZST"

lubridate这是小菜一碟,尤其是它的dmy_hms,ymd等功能的集合。

要跨行正确粘贴,只需使用apply(<data.frame>, 1, paste, collapse=" ")

于 2013-10-25T00:20:40.530 回答