[R] use of NA's

Roger D. Peng rpeng at jhsph.edu
Fri Aug 5 17:37:09 CEST 2005


To test for 'NA' you shouldn't use '=='.  Use 'is.na()' instead.

-roger

tom wright wrote:
> Can someone please explain why this works: 
> 
> 
>>>d<-c(0,2,3,2,0,3,4,0,0,0,0,0)
>>>d.mat<-matrix(data=d,nrow=4,ncol=3,byrow=TRUE)
>>>for(i in 1:length(d.mat[1,])){
>>
>>+ d.mat[,i][d.mat[,i]==0]<-mean(d.mat[,i][d.mat[,i]>0])
>>+ }
> 
> 
> Whereas: 
> 
> 
>>d<-c(0,2,3,2,0,3,4,0,0,0,0,0)
>>d.mat<-matrix(data=d,nrow=4,ncol=3,byrow=TRUE)
>>d.mat[d.mat==0]<-NA
>>for(i in 1:length(d.mat[1,])){
> 
> + d.mat[,i][d.mat[,i]==NA]<-mean(d.mat[,i],na.rm=TRUE)
> + }
> dosnt
> 
> Thanks
> Tom
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 

-- 
Roger D. Peng
http://www.biostat.jhsph.edu/~rpeng/




More information about the R-help mailing list