在对数据帧进行子集化时,请避免使用NA值

时间:2017-08-31 15:34:21

标签: r datetime subset

我正在尝试记录给定日期的最高温度,但是当温度柱上存在NA时,我遇到了问题。

我使用此代码获得temperture的最大值

tmax.today<-max(datos.today$temp,na.rm=TRUE)

并试着用

来抽出时间
hora.tmax.today<-datos.today$hora[datos.today$temp == tmax.today]

对象类是

class(hora.tmax.today)
[1] "POSIXct" "POSIXt"

,其值为

hora.tmax.today
[1] NA                     NA                     NA                    
[4] NA                     NA                     NA                    
[7] "0-01-01 12:00:00 UTC"

但它应该只有一个值,最后一个(不要担心日期,我只需要时间)。如果我查看数据,数据集中有六行,温度为NA。如何避免NA值?

提前致谢

2 个答案:

答案 0 :(得分:0)

您错过了which。这将返回满足条件的向量成员的位置索引。请参阅以下用法。

hora.tmax.today<-datos.today$hora[which(datos.today$temp == tmax.today)]

答案 1 :(得分:0)

从lmo的评论中,正确的命令是

datos.today$hora[datos.today$temp == tmax.today & !is.na(datos.today$temp)]