将R中的日期格式转换为POSIXt格式

问题描述 投票:0回答:1

我正在尝试使用R中的“ airGRTeaching”软件包。它的目的是使用一些数学方程式和输入变量(P和E)将模拟流“ Qs”拟合到观察到的“ Q”。

我已经准备好我的输入文件,其中包含一个名为“ jour”的列,该列引用日期。这是名为Book1.CSV的表文件的外观,如下所示:>

        jour    P     E     Q
1    1-1-1991 13.0 2.464 0.072
2    1-2-1991 15.6 1.799 0.068
3    1-3-1991 13.6 1.379 0.150
4    1-4-1991  0.0 1.628 0.605
5    1-5-1991  7.8 2.000 0.535
6    1-6-1991 15.2 1.606 0.367
7    1-7-1991  1.3 1.812 1.153
8    1-8-1991  0.0 2.222 1.768
9    1-9-1991  0.3 2.700 0.999
10  1-10-1991  0.0 2.354 0.695

根据要求,数据文件应为date.frame格式,因此我使用以下行进行了转换:

> mydata<-read.csv("C:\\Users\\AcER PREDATOR\\Desktop\\Book1.CSV", header=TRUE)
> df<-data.frame(mydata)

现在我想将日期列(jour)转换为UTC时区的“ POSIXt”格式。因此,我尝试了:

> DATE<- as.POSIXlt(df[1], tz="UTC", format= c("%Y-%m-%D %H:%M/%OS"), optional = FALSE)

但我收到此错误消息:

Error in as.POSIXlt.default(df[1], tz = "UTC", format = c("%Y-%m-%D %H:%M/%OS"),  : 
  do not know how to convert 'df[1]' to class “POSIXlt”

关于解决此问题的任何建议都是可取的。谢谢]]

我正在尝试使用R中的“ airGRTeaching”软件包。它的目的是使用一些数学方程式和输入变量(P和E)将模拟流“ Qs”拟合到观察到的“ Q”。我有...

r date datetime time date-conversion
1个回答
0
投票

使用parse_date_time中的lubridate功能,您可以获得:

library(lubridate)

Date <- parse_date_time(df$jour, orders = "%m-%d-%Y", tz = "UTC")

 [1] "1991-01-01 UTC" "1991-01-02 UTC" "1991-01-03 UTC" "1991-01-04 UTC" "1991-01-05 UTC" "1991-01-06 UTC" "1991-01-07 UTC"
 [8] "1991-01-08 UTC" "1991-01-09 UTC" "1991-01-10 UTC"
© www.soinside.com 2019 - 2024. All rights reserved.