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: [EMAIL PROTECTED]
tel: 604-675-8000 x7561
BCCRC
Molecular Oncology
675 West 10th Ave, Floor 4
Vancouver B.C.
V5Z 1L3
Canada
-----Original Message-----
From: [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
"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]]
______________________________________________
[email protected] 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.
______________________________________________
[email protected] 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.