Thank you Jim and all, I got it. I have one more question on the original question
What does this "[-1] " do? preval<-data.frame(Col1=unique(unlist(mydat[,c("Col2","col3")]))[-1], Col2=NA,col3=NA) mydat <- read.table(textConnection("Col1 Col2 col3 Z1 K1 K2 Z2 NA NA Z3 X1 NA Z4 Y1 W1"),header = TRUE) preval<-data.frame(Col1=unique(unlist(mydat[,c("Col2","col3")]))[-1], Col2=NA,col3=NA) rbind(unique(preval),mydat) Col1 Col2 col3 1 <NA> <NA> <NA> 2 X1 <NA> <NA> 3 Y1 <NA> <NA> 4 K2 <NA> <NA> 5 W1 <NA> <NA> 6 Z1 K1 K2 7 Z2 <NA> <NA> 8 Z3 X1 <NA> 9 Z4 Y1 W1 On Sat, Feb 24, 2018 at 5:04 PM, Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 24/02/2018 1:53 PM, William Dunlap via R-help wrote: > >> x1 = rbind(unique(preval),mydat) >> x2 <- x1[is.na(x1)] <- 0 >> x2 # gives 0 >> >> Why introduce the 'x2'? x1[...] <- 0 alters x1 in place and I think that >> altered x1 is what you want. >> >> You asked why x2 was zero. The value of the expression >> f(a) <- b >> and assignments are processed right to left so >> x2 <- x[!is.na(x1)] <- 0 >> is equivalent to >> x[!is.na(x1)] <- 0 >> x2 <- 0 >> > > That's not right in general, is it? I'd think that should be > > x[!is.na(x1)] <- 0 > x2 <- x1 > > Of course, in this example, x1 is 0, so it gives the same answer. > > Duncan Murdoch > > > >> >> Bill Dunlap >> TIBCO Software >> wdunlap tibco.com >> >> On Sat, Feb 24, 2018 at 9:59 AM, Val <valkr...@gmail.com> wrote: >> >> Thank you Jim >>> >>> I wanted a final data frame after replacing the NA's to "0" >>> >>> x1 = rbind(unique(preval),mydat) >>> x2 <- x1[is.na(x1)] <- 0 >>> x2 >>> but I got this, >>> >>> [1] 0 >>> >>> why I am getting this? >>> >>> >>> On Sat, Feb 24, 2018 at 12:17 AM, Jim Lemon <drjimle...@gmail.com> >>> wrote: >>> >>> Hi Val, >>>> Try this: >>>> >>>> preval<-data.frame(Col1=unique(unlist(mydat[,c("Col2","col3")]))[-1], >>>> Col2=NA,col3=NA) >>>> rbind(preval,mydat) >>>> >>>> Jim >>>> >>>> On Sat, Feb 24, 2018 at 3:34 PM, Val <valkr...@gmail.com> wrote: >>>> >>>>> Hi All, >>>>> >>>>> I am reading a file as follow, >>>>> >>>>> mydat <- read.table(textConnection("Col1 Col2 col3 >>>>> Z2 NA NA >>>>> Z3 X1 NA >>>>> Z4 Y1 W1"),header = TRUE) >>>>> >>>>> 1. "NA" are missing should be replace by 0 >>>>> 2. value that are in COl2 and Col3 should be included in col1 before >>>>> they appear >>>>> in col2 and col3. So the output data looks like as follow, >>>>> >>>>> X1 0 0 >>>>> Y1 0 0 >>>>> W1 0 0 >>>>> Z2 0 0 >>>>> Z3 X1 0 >>>>> Z4 Y1 W1 >>>>> >>>>> Thank you in advance >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> ______________________________________________ >>>>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>> 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. >>>>> >>>> >>>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> 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. >>> >>> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.