[R] replacing all NA's in a dataframe with zeros...
Steven McKinney
smckinney at bccrc.ca
Thu Mar 15 04:16:42 CET 2007
Since you can index a matrix or dataframe with
a matrix of logicals, you can use is.na()
to index all the NA locations and replace them
all with 0 in one command.
> mydata.df <- as.data.frame(matrix(sample(c(as.numeric(NA), 1), size = 30, replace = TRUE), nrow = 6))
> mydata.df
V1 V2 V3 V4 V5
1 1 NA 1 1 1
2 1 NA NA NA 1
3 NA NA 1 NA NA
4 NA NA NA NA 1
5 NA 1 NA NA 1
6 1 NA NA 1 1
> is.na(mydata.df)
V1 V2 V3 V4 V5
1 FALSE TRUE FALSE FALSE FALSE
2 FALSE TRUE TRUE TRUE FALSE
3 TRUE TRUE FALSE TRUE TRUE
4 TRUE TRUE TRUE TRUE FALSE
5 TRUE FALSE TRUE TRUE FALSE
6 FALSE TRUE TRUE FALSE FALSE
> mydata.df[is.na(mydata.df)] <- 0
> mydata.df
V1 V2 V3 V4 V5
1 1 0 1 1 1
2 1 0 0 0 1
3 0 0 1 0 0
4 0 0 0 0 1
5 0 1 0 0 1
6 1 0 0 1 1
>
Steven McKinney
Statistician
Molecular Oncology and Breast Cancer Program
British Columbia Cancer Research Centre
email: smckinney at bccrc.ca
tel: 604-675-8000 x7561
BCCRC
Molecular Oncology
675 West 10th Ave, Floor 4
Vancouver B.C.
V5Z 1L3
Canada
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch on behalf of David L. Van Brunt, Ph.D.
Sent: Wed 3/14/2007 5:22 PM
To: R-Help List
Subject: [R] replacing all NA's in a dataframe with zeros...
I've seen how to replace the NA's in a single column with a data frame
*> mydata$ncigs[is.na(mydata$ncigs)]<-0
*But this is just one column... I have thousands of columns (!) that I need
to do this, and I can't figure out a way, outside of the dreaded loop, do
replace all NA's in an entire data frame (all vars) without naming each var
separately. Yikes.
I'm racking my brain on this, seems like I must be staring at the obvious,
but it eludes me. Searches have come up CLOSE, but not quite what I need..
Any pointers?
--
---------------------------------------
David L. Van Brunt, Ph.D.
mailto:dlvanbrunt at gmail.com
"If Tyranny and Oppression come to this land, it will be in the guise of
fighting a foreign enemy."
--James Madison
[[alternative HTML version deleted]]
______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list