我有一个简单的小数据集:
SFdischg$daymo <- as.Date(SFdischg$ddmm, format="%d-%b")
> summary(SFdischg)
date ddmm year cfs daymo
1/01/1985: 1 01-Apr : 33 Min. :1984 Min. : 172 Min. :2018-01-01
1/01/1986: 1 01-Aug : 33 1st Qu.:1992 1st Qu.: 705 1st Qu.:2018-04-04
1/01/1987: 1 01-Jul : 33 Median :2000 Median : 948 Median :2018-07-03
1/01/1988: 1 01-Jun : 33 Mean :2000 Mean :1374 Mean :2018-07-02
1/01/1989: 1 01-May : 33 3rd Qu.:2008 3rd Qu.:1340 3rd Qu.:2018-10-01
1/01/1990: 1 01-Nov : 33 Max. :2016 Max. :8100 Max. :2018-12-31
(Other) :11926 (Other):11734 NA's :8
我希望有一列日期,以便可以绘制时间数据:
daymo
但是,ddmm
现在有8个NA,我不知道为什么(并且很难绘制!)。当listenerF(e) { // dont forget to add the event as an argument here
console.log(e);
console.log("im scrolling!");
}
componentDidMount() {
window.addEventListener("scroll", this.listenerF);
}
componentWillUnmount() {
window.removeEventListener("scroll", this.listenerF);
console.log("unmounted");
}
中没有缺失数据时,少数NA来自何处?如何避免它们?我是否缺少明显的东西?
答案 0 :(得分:1)
我的猜测是,您在ddmm
列中拥有的某些因子数据无法正确解析为日期。您可以使用以下方法揭示这些错误的值:
SFdischg$ddmm[is.na(as.Date(SFdischg$ddmm, format="%d-%b"))]
请注意,由于ddmm
列中没有年份组成部分,因此R似乎会自动将当前年份2018分配给该日期。理想情况下,您应该使用包含一年的来源信息来建立日期。
编辑:根据您在下面的评论,有问题的行的日期为19-Feb
。这意味着这些日期甚至可能都不是从2018年开始的,这不是not年,并且其2月只有28天。这说明了在解析日期(包括年份)时使用全套信息的重要性。