[R] replacing NA's with 0 in a dataframe for specified columns

Spencer Graves spencer.graves at pdf.com
Wed Sep 15 21:01:25 CEST 2004


Have you considered the following: 

 > x <- data.frame(a = c(0,1,2,NA), b = c(0,NA,1,2), c = c(NA, 0, 1, 2))
 > x$a[is.na(x$a)] <- 0
 > x$c[is.na(x$c)] <- 0
 > x
  a  b c
1 0  0 0
2 1 NA 0
3 2  1 1
4 0  2 2

      hope this helps.  spencer graves

David Kane wrote:

>I know that there must be a cool way of doing this, but I can't think
>of it. Let's say I have an dataframe with NA's.
>
>  
>
>>x <- data.frame(a = c(0,1,2,NA), b = c(0,NA,1,2), c = c(NA, 0, 1, 2))
>>x
>>    
>>
>   a  b  c
>1  0  0 NA
>2  1 NA  0
>3  2  1  1
>4 NA  2  2
>  
>
>
>I know it is easy to replace all the NA's with zeroes.
>
>  
>
>>x[is.na(x)] <- 0
>>x
>>    
>>
>  a b c
>1 0 0 0
>2 1 0 0
>3 2 1 1
>4 0 2 2
>  
>
>
>But how do I do this for just columns a and c, leaving the NA in
>column b alone?
>
>Thanks,
>
>Dave Kane
>
>  
>
>>R.version
>>    
>>
>         _                
>platform i686-pc-linux-gnu
>arch     i686             
>os       linux-gnu        
>system   i686, linux-gnu  
>status                    
>major    1                
>minor    9.1              
>year     2004             
>month    06               
>day      21               
>language R                
>  
>
>
>______________________________________________
>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
>  
>

-- 
Spencer Graves, PhD, Senior Development Engineer
O:  (408)938-4420;  mobile:  (408)655-4567




More information about the R-help mailing list