[R] replacing NA's with 0 in a dataframe for specified columns
John Fox
jfox at mcmaster.ca
Wed Sep 15 21:12:19 CEST 2004
Dear David,
How about the following?
cols <- c(1,3)
x[,cols][is.na(x[,cols])] <- 0
I hope that this helps,
John
On Wed, 15 Sep 2004 14:44:53 -0400
David Kane <dave at kanecap.com> 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
--------------------------------
John Fox
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/
More information about the R-help
mailing list