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 <- 0That'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 <valkremk at 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 <drjimlemon at 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 <valkremk at 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 at 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 at 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 at 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. >
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.duncan at 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 <valkremk at 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 <drjimlemon at 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 <valkremk at 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 at 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 at 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 at 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]]
Sorry , I hit the send key accidentally here is my complete message. 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 I could not find K1 in the first col1. Is that possible to fix this? On Sat, Feb 24, 2018 at 5:59 PM, Val <valkremk at gmail.com> wrote:> 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.duncan at 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 <valkremk at 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 <drjimlemon at 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 <valkremk at 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 at 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 at 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 at 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]]
That's not right in general, is it? I'd think that should be x[!is.na(x1)] <- 0 x2 <- x1 I left out a '1' on the first line - it should have been x1[!is.na(x1)] <- 0 In the following examples the value of the assignment expression is the right hand side of the assignment.> x1 <- factor(c("A","B","C","D","E")) > x2 <- x1[2:5] <- c("C","E") > str(x1)Factor w/ 5 levels "A","B","C","D",..: 1 3 5 3 5> str(x2)chr [1:2] "C" "E" '> x1 <- (2:5) + 1i * (5:2) > x2 <- x1[ Mod(x1) == 5 ] <- c(17L, 19L) > str(x1)cplx [1:4] 2+5i 17+0i 19+0i ...> str(x2)int [1:2] 17 19 Bill Dunlap TIBCO Software wdunlap tibco.com On Sat, Feb 24, 2018 at 3:04 PM, Duncan Murdoch <murdoch.duncan at 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 <valkremk at 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 <drjimlemon at 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 <valkremk at 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 at 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 at 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 at 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]]