[R] Replacing NAs with 0 for variables with the same ending

Jim Lemon jim at bitwrit.com.au
Fri Jan 15 21:51:36 CET 2010


On 01/15/2010 07:10 PM, Uli Kleinwechter wrote:
> Dear all,
>
> I'm looking for a way to replace NA's with 0 for a number of variables
> which share the same ending and which constitute a subset of a data frame.
>
> Say, for example, there is
>
>> data<- data.frame(ax=c(1,2,3,NA,0) , bx=c(3,5,NA,5,1) ,
> ay=c(5,NA,2,NA,0) , by=c(4,2,NA,2,1))
>> data
>    ax bx ay by
> 1  1  3  5  4
> 2  2  5 NA  2
> 3  3 NA  2 NA
> 4 NA  5 NA  2
> 5  0  1  0  1
>
> I wish to apply something like  //
> //
> />  data[is.na(data)]<- 0/
> //
> but not to the entire data frame, rather only to the variables ending
> with x.
>
Hi Uli,
How about:

data[,grep("x",names(data))][is.na(data[,grep("x",names(data))])]<-0

Jim



More information about the R-help mailing list