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]]
hi Val, Your problem seems to be that the data are read in as a factor. The simplest way I can think of to get around this is: mydat <- read.table(textConnection("Col1 Col2 col3 Z1 K1 K2 Z2 NA NA Z3 X1 NA Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) preval<-data.frame(Col1=unique(unlist(mydat[,c("Col2","col3")]))[-1], Col2=NA,col3=NA) rbind(preval,mydat) mydat[is.na(mydat)]<-"0" Jiim On Sun, Feb 25, 2018 at 11:05 AM, Val <valkremk at gmail.com> wrote:> 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]] > > ______________________________________________ > 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, I read the data as you suggested but I could not find K1 in col1. rbind(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 6:18 PM, Jim Lemon <drjimlemon at gmail.com> wrote:> hi Val, > Your problem seems to be that the data are read in as a factor. The > simplest way I can think of to get around this is: > > mydat <- read.table(textConnection("Col1 Col2 col3 > Z1 K1 K2 > Z2 NA NA > Z3 X1 NA > Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) > preval<-data.frame(Col1=unique(unlist(mydat[,c("Col2","col3")]))[-1], > Col2=NA,col3=NA) > rbind(preval,mydat) > mydat[is.na(mydat)]<-"0" > > Jiim > > > On Sun, Feb 25, 2018 at 11:05 AM, Val <valkremk at gmail.com> wrote: > > 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]] > > > > ______________________________________________ > > 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]]