[R] Replacing 0s with NA
Chuck Cleland
ccleland at optonline.net
Fri Jun 12 11:54:17 CEST 2009
On 6/12/2009 4:55 AM, Christine Griffiths wrote:
> Hello
>
> I have a dataset in which I would like to replace 0s with NAs. There is
> a lot of information on how to replace NAs with 0, but I have struggled
> to find anything with regards to doing the reverse. Any recommendations
> would be great.
X <- as.data.frame(matrix(sample(0:9, 100, replace=TRUE), ncol=10))
X
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 7 5 8 9 6 6 4 8 5 8
2 6 2 9 6 8 5 9 1 1 3
3 4 1 5 8 9 5 3 2 1 4
4 4 8 7 7 4 1 1 4 9 8
5 9 2 5 8 4 8 4 8 6 0
6 3 4 2 8 2 0 6 4 8 5
7 3 5 0 2 7 7 9 9 3 1
8 7 3 3 4 8 3 9 2 7 1
9 4 7 9 1 5 4 8 2 1 9
10 7 7 6 1 0 9 0 5 7 0
X[] <- lapply(X, function(x){replace(x, x == 0, NA)})
X
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 7 5 8 9 6 6 4 8 5 8
2 6 2 9 6 8 5 9 1 1 3
3 4 1 5 8 9 5 3 2 1 4
4 4 8 7 7 4 1 1 4 9 8
5 9 2 5 8 4 8 4 8 6 NA
6 3 4 2 8 2 NA 6 4 8 5
7 3 5 NA 2 7 7 9 9 3 1
8 7 3 3 4 8 3 9 2 7 1
9 4 7 9 1 5 4 8 2 1 9
10 7 7 6 1 NA 9 NA 5 7 NA
> Cheers
> Christine
>
> ______________________________________________
> R-help at 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.
--
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list