Hi,

this works aswell:

 for(i in 1:ncol(data)) data[is.na(data[,i]),i] <- 0

i am sure there is way doing it with a member of the apply family, maybe
someone else has an idea.

Johannes

On Fri, Jan 15, 2010 at 9:51 PM, Jim Lemon <jim@bitwrit.com.au> wrote:

> 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
>
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

