我有以下代码片段,其中包含大约900,000行的数据集。日期列作为一个因素,我想提取小时,以便我可以聚合它并做一个每小时行数的条形图。
我现在感到困惑,因为当我检查'd'数据框是一个小子集时,它具有'小时'的正确级别(即0,1,2,3,4等)但是' df'数据帧读取“因子w / 1级别'0'”。由于这是完全相同的代码,有人可以向我解释这里有什么问题吗?
条形图对于'd'数据框显示完全正常但是'df'数据框只返回一个条(根据上面的问题预期)。
谢谢!
df <- read.csv('train.csv')
d <- df[1:1000,]
d <- droplevels(d)
df <- droplevels(df)
d$Hour <- as.factor(hour(as.POSIXct(as.character(d$Dates))))
df$Hour <- as.factor(hour(as.POSIXct(as.character(df$Dates))))
答案 0 :(得分:0)
不确定为什么这会被贬低但是经过深入挖掘之后,有一个特定的行包含了Date的问题。虽然格式看起来完全一样,但是在它上面运行as.POSIXlt / as.POSIXct总是返回一个日期时间,其中时间被删除,导致关闭的级别。我必须明确定义一个时区参数,最终解决问题。