[R] replace "" to NA.
jim holtman
jholtman at gmail.com
Mon Jan 6 13:58:54 CET 2014
try this:
> test<-data.frame(
+ test1=c("","Hi","Hello"),
+ test2=c("Hi",NA,"Bye"),
+ test3=c("Hello","",""))
> test
test1 test2 test3
1 Hi Hello
2 Hi <NA>
3 Hello Bye
>
> test[] <- lapply(test, function(x){
+ x[!is.na(x) & x == ''] <- NA
+ x
+ })
> test
test1 test2 test3
1 <NA> Hi Hello
2 Hi <NA> <NA>
3 Hello Bye <NA>
>
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.
On Mon, Jan 6, 2014 at 6:57 AM, vikram ranga <babuawara at gmail.com> wrote:
> Dear All,
>
> I am bit stuck to a problem of replacing "" to NA.
> I have big data set but here is the toy example:-
>
> test<-data.frame(
> test1=c("","Hi","Hello"),
> test2=c("Hi","","Bye"),
> test3=c("Hello","",""))
>
> If the data as in above, I could change all "" to NA by this code:-
>
> for(i in 1:3){
> for(j in 1:3){
> if(test[j,i]==""){
> test[j,i]=NA
> }
> }
> }
>
> but the problem arises if data frame has NA at some places
>
> test<-data.frame(
> test1=c("","Hi","Hello"),
> test2=c("Hi",NA,"Bye"),
> test3=c("Hello","",""))
>
> the above loop script does not work on this data frame as NA is has
> logical class and does not return TRUE/FALSE.
>
> Can anyone provide some help?
>
> My sessionInfo is:
> R version 3.0.2 (2013-09-25)
> Platform: i386-w64-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=English_India.1252 LC_CTYPE=English_India.1252
> LC_MONETARY=English_India.1252
> [4] LC_NUMERIC=C LC_TIME=English_India.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] RColorBrewer_1.0-5 plotrix_3.5-2 foreign_0.8-57
> splancs_2.01-34 spatstat_1.34-0
> [6] polyclip_1.1-0 tensor_1.5 abind_1.4-0
> deldir_0.1-1 mgcv_1.7-26
> [11] nlme_3.1-111 xlsx_0.5.1 xlsxjars_0.5.0
> rJava_0.9-4 ggplot2_0.9.3.1
> [16] rgdal_0.8-11 rgeos_0.3-2 maptools_0.8-27 sp_1.0-14
>
> loaded via a namespace (and not attached):
> [1] colorspace_1.2-4 dichromat_2.0-0 digest_0.6.3 grid_3.0.2
> gtable_0.1.2
> [6] labeling_0.2 lattice_0.20-23 MASS_7.3-29 Matrix_1.0-14
> munsell_0.4.2
> [11] plyr_1.8 proto_0.3-10 reshape2_1.2.2 scales_0.2.3
> stringr_0.6.2
> [16] tcltk_3.0.2 tools_3.0.2
>
> ______________________________________________
> 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.
More information about the R-help
mailing list