R 使用“时去除NA”;订单“;

R 使用“时去除NA”;订单“;,r,R,我有一个巨大的数据矩阵,包含年、月、日和降水量的列,我需要对这些列进行排序,并在降水量为NA时删除该行(发生在每个月的第31天,只有30天和2月…)。在查阅r帮助文件后,我使用了以下代码: dat<- aa[order(aa$year, aa$month, aa$day, na.last=NA),] 因为na.last是指在命令不删除na时,查看na是否应该是第一位的最后一位。使用na.省略(dat)删除na 希望有帮助 order的na.last参数仅从通过传递到order的对象中删

我有一个巨大的数据矩阵,包含年、月、日和降水量的列,我需要对这些列进行排序,并在降水量为NA时删除该行(发生在每个月的第31天,只有30天和2月…)。在查阅r帮助文件后,我使用了以下代码:

dat<- aa[order(aa$year, aa$month, aa$day, na.last=NA),] 

因为
na.last
是指在命令不删除
na
时,查看
na
是否应该是第一位的最后一位。使用
na.省略(dat)
删除
na


希望有帮助

order的
na.last
参数仅从通过
传递到
order
的对象中删除
na
。您的
NA
处于
aa$降水期
,而不是
aa$年
aa$月
,或
aa$日
,因此您需要:

dat <- na.omit(aa[order(aa$year, aa$month, aa$day),])

dat您能提供一些样本数据吗?您确定它们是真实的NA吗?。它们是字符串还是伪装成NA的因素。sum(is.na(aa$day))返回什么?head()没有告诉我们什么。我们需要在数据行上使用dput(),这些数据行的内容看起来像NA'sExcept
?顺序是“NA.last:…如果'NA',它们将被删除。”NA.last=NA应该删除NA。另一个原因是他的问题。我认为这种说法是不正确的。
?订单的帮助文件
说明可以像OP一样使用
na.last=na
,即删除na值。
dat <- na.omit(aa[order(aa$year, aa$month, aa$day),])