我有这个庞大的数据矩阵,包括年,月,日和降水的列,我需要订购,当降水量为NA时也会删除该行(在每个月的第31天,只有30天和Februaries. ..).在查阅了r帮助文件后,我使用了以下代码:
dat<- aa[order(aa$year, aa$month, aa$day, na.last=NA),]
Run Code Online (Sandbox Code Playgroud)
它完美地订购了我的数据,但我仍然拥有所有的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
Run Code Online (Sandbox Code Playgroud)
该na.last参数order仅从NA传递给ordervia 的对象中删除....你NA在aa$precipitation,不是aa$year,aa$month或者aa$day,所以你需要:
dat <- na.omit(aa[order(aa$year, aa$month, aa$day),])
Run Code Online (Sandbox Code Playgroud)
您可能需要考虑使用像zoo或xts这样的时间序列类来表示时间序列数据.