我做错了什么?
我用
dates<- strptime(dataframe$Measurement.Time,"%d.%m.%Y %H:%M",tz="")
将字符串转换为日期。这完全适用于14780次观测。但在两种情况下,它会返回NA
。
这是一个有效的例子。摘录均来自相同的结果数据框。
head(dataframe.with.dates)
date.time Measurement.Time mü.mü.VWC.1 øC.Temp.1
1 2000-01-10 00:30:00 10.01.2000 0:30 -0.011 -0.6
2 2000-01-10 01:00:00 10.01.2000 1:00 -0.011 -0.6
3 2000-01-10 01:30:00 10.01.2000 1:30 -0.011 -0.6
这是我生成的数据框的摘录,显示出错的两个结果:
subset(dataframe.with.dates,is.na(dataframe.with.dates$date.time))
date.time Measurement.Time mü.mü.VWC øC.Temp
9572 <NA> 29.03.2015 2:00 -0.011 -0.6
9573 <NA> 29.03.2015 2:30 -0.011 -0.6
其中“date.time”位于POSIXlt
,“Measurement.time”是character
中的原始日期。
我检查了原始的.txt文件,我从中获取了数据,但无法找到上下测量值的任何差异。
答案 0 :(得分:3)
谷歌搜索&#34;夏令时时间2015年3月29日&#34;表明这是春季转向欧洲夏令时的日期,例如:https://www.timeanddate.com/news/time/europe-starts-dst-2015.html
时区是一场噩梦:我原本以为使用tz="CET"
可以做到这一点,但事实并非如此。 strptime(mt,"%d.%m.%Y %H:%M",tz="UTC+01:00")
并不抱怨,但会以UTC格式创建时间。使用tz="GMT"
可能最容易,并假装时间是标准的,即使他们不是......
我确定有重复项,但回答问题比找到它们更容易(我确实花了几分钟时间尝试)。