[R] Replacing NA values when building matrix using tapply
    Chris Long 
    galizur at gmail.com
       
    Fri Oct  5 23:55:05 CEST 2007
    
    
  
Hi,
I'm building a matrix m from a data frame d which includes the matrix row,
column and value.
This works well enough:
m <- tapply(d[,"value"],d[,c("row","column")],c)
However, I'd like to replace any missing values with 0, not NA.  The
obvious doesn't work, however:
m <- tapply(d[,"value"],d[,c("row","column")],function(x) {ifelse(is.na(x),0.0,x)})
I can always do this:
m <- tapply(d[,"value"],d[,c("row","column")],c)
m[is.na(m)] <- 0.0
But it's wasteful to process the table again.  Any ideas?
-- 
Christopher D. Long, San Diego Padres, 100 Park Boulevard, San Diego CA
Score: 0, Diff: 1, clong killed by a Harvard Math Team on  1
    
    
More information about the R-help
mailing list