【发布时间】:2020-08-15 11:42:15
【问题描述】:
我正在尝试使用 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)转换为“POSIXt”格式的 UTC 时区。所以,我尝试了:
> 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”
关于如何解决此问题的任何建议都是值得赞赏的。谢谢
【问题讨论】:
-
看看你的
jour,它看起来不像"%Y-%m-%D %H:%M/%OS"。我希望像"%m-%d-%Y"(没有时间组件)这样的东西。 -
...但该错误看起来像您的第一列是
factor而不是character。考虑as.POSIXlt(as.character(df[1]), format="%m-%d-%Y")。
标签: r date datetime time date-conversion