【发布时间】:2017-08-16 16:31:48
【问题描述】:
我正在根据日期时间合并两个数据框,但似乎遇到了障碍。 2 个 DF 中的 1 个中的时间列具有时区标记:
#Example
"2012-09-28 08:15:00 MDT"
而另一个DF时间列没有
#Example 2
"2012-09-28 08:15:00"
在我的程序中,这两个都是 POSIXct 对象,格式完全相同 ,除了时区戳。当尝试根据时间列合并时,会出现 NA,b/c 他们没有相互识别。
我已将问题缩小到缺少 Tz 的 DF。一些奇怪的事情正在发生。当我在数据框之外有日期时间列的数据时,它会这样读取
#Code used to make these values
NewTime<-as.POSIXct(TimeDis$datetime, format="%Y-%m-%d %H:%M")
>NewTime
[1] "2017-08-16 00:00:00 MDT" "2017-08-16 00:15:00 MDT"
[3] "2017-08-16 00:30:00 MDT" "2017-08-16 00:45:00 MDT"
现在,当我将其放入带有数据的数据框中时,“MDT”不会出现
Discharge_Time<-data.frame(NewTime,DischargeFin)
> Discharge_Time
NewTime DischargeFin
1 2017-08-16 00:00:00 990525.2
2 2017-08-16 00:15:00 990525.2
3 2017-08-16 00:30:00 1000719.2
4 2017-08-16 00:45:00 1000719.2
如果我打电话给我,那就更陌生了,
>Discharge_Time[1,1]
"2017-08-16 MDT"
我拿回了 MDT,但现在没时间......
我不知道发生了什么,但我希望找到一种方法让 MDT 和所有其他人留在那个数据框中,这样我就可以成功地将它与另一个 DF 合并,它不会丢失任何东西
【问题讨论】:
-
查看
attributes(x)for Time1 和 Time2,我发现两者都没有 tz;并且您的代码运行良好,在 DATA 中没有可见的 NA.... -
啊,完全错过了当我添加 POSIXct 行时,它向两个 data.frames 添加了一个 MDT。我将删除它,因为它不准确
-
好的。随意以最能理解问题的方式重新组织您的问题;没有必要添加尾随 EDIT 等。人们可以看到编辑历史记录,如果适当的话,您可以向早期的回答者道歉,因为他们在 cmets 中对其进行了更改。
-
罗杰,谢谢
-
@Frank 我做了更多的挖掘工作并缩小了问题的范围,并希望让我的问题更清楚。对于任何混淆,我深表歉意。