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 <j...@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]] ______________________________________________ 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.