我有这个巨大的数据矩阵,包含年,月,日和降水的列,我需要订购,当降水量为NA时也会删除该行(每个月的第31天只发生30天和Februaries ......)在查阅了r帮助文件后,我使用了以下代码:
dat<- aa[order(aa$year, aa$month, aa$day, na.last=NA),]
它完美地订购了我的数据,但我仍然拥有所有的NAs ...任何人都可以告诉我它为什么不起作用?
感谢
> head(dat)
code year month station ALTITUD PROV LONGITUD LATITUD day P1 id
1.1 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 1 0 1
1.2 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 2 0 1
1.3 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 3 0 1
1.4 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 4 0 1
1.5 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 5 0 1
1.6 3059 1940 11 ALBALATE DE LAS NOGUERAS 855 CUENCA 216372 402200 6 0 1
答案 0 :(得分:7)
na.last
的{{1}}参数仅从通过order
传递给NA
的对象中删除order
。您的...
位于NA
,而非aa$precipitation
,aa$year
或aa$month
,因此您需要:
aa$day
您可能需要考虑使用像zoo或xts这样的时间序列类来获取时间序列数据。
答案 1 :(得分:3)
因为na.last
在订购时不会删除NA
,所以NA
是否应该是最后的na.omit(dat)
。使用NA
删除{{1}}。
希望有所帮助。