HI Jim and all, I want to put one more condition. Include col2 and col3 if they are not in col1. Here is the data mydat <- read.table(textConnection("Col1 Col2 col3 K2 X1 NA Z1 K1 K2 Z2 NA NA Z3 X1 NA Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) The desired out put would be Col1 Col2 col3 1 X1 0 0 2 K1 0 0 3 Y1 0 0 4 W1 0 0 6 K2 X1 0 7 Z1 K1 K2 8 Z2 0 0 9 Z3 X1 0 10 Z4 Y1 W1 K2 is already is already in col1 and should not be added. Thank you in advance On Sat, Feb 24, 2018 at 6:38 PM, Jim Lemon <drjimlemon at gmail.com> wrote:> Hi Val, > My fault - I assumed that the NA would be first in the result produced > by "unique": > > mydat <- read.table(textConnection("Col1 Col2 col3 > Z1 K1 K2 > Z2 NA NA > Z3 X1 NA > Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) > val23<-unique(unlist(mydat[,c("Col2","col3")])) > napos<-which(is.na(val23)) > preval<-data.frame(Col1=val23[-napos], > Col2=NA,col3=NA) > mydat<-rbind(preval,mydat) > mydat[is.na(mydat)]<-"0" > mydat > > Jim > > On Sun, Feb 25, 2018 at 11:27 AM, Val <valkremk at gmail.com> wrote: > > 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]]
Jim has been exceedingly patient (and may well continue to be so), but this smells like "failure to launch". At what point will you start showing your (failed) attempts at solving your own problems so we can help you work on your specific weaknesses and become self-sufficient? -- Sent from my phone. Please excuse my brevity. On February 25, 2018 7:55:55 AM PST, Val <valkremk at gmail.com> wrote:>HI Jim and all, > >I want to put one more condition. Include col2 and col3 if they are >not >in col1. > >Here is the data >mydat <- read.table(textConnection("Col1 Col2 col3 >K2 X1 NA >Z1 K1 K2 >Z2 NA NA >Z3 X1 NA >Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) > >The desired out put would be > > Col1 Col2 col3 >1 X1 0 0 >2 K1 0 0 >3 Y1 0 0 >4 W1 0 0 >6 K2 X1 0 >7 Z1 K1 K2 >8 Z2 0 0 >9 Z3 X1 0 >10 Z4 Y1 W1 > >K2 is already is already in col1 and should not be added. > >Thank you in advance > > > > > > > >On Sat, Feb 24, 2018 at 6:38 PM, Jim Lemon <drjimlemon at gmail.com> >wrote: > >> Hi Val, >> My fault - I assumed that the NA would be first in the result >produced >> by "unique": >> >> mydat <- read.table(textConnection("Col1 Col2 col3 >> Z1 K1 K2 >> Z2 NA NA >> Z3 X1 NA >> Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) >> val23<-unique(unlist(mydat[,c("Col2","col3")])) >> napos<-which(is.na(val23)) >> preval<-data.frame(Col1=val23[-napos], >> Col2=NA,col3=NA) >> mydat<-rbind(preval,mydat) >> mydat[is.na(mydat)]<-"0" >> mydat >> >> Jim >> >> On Sun, Feb 25, 2018 at 11:27 AM, Val <valkremk at gmail.com> wrote: >> > 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]] > >______________________________________________ >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 all for your help and sorry for that. On Sun, Feb 25, 2018 at 12:18 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:> Jim has been exceedingly patient (and may well continue to be so), but > this smells like "failure to launch". At what point will you start showing > your (failed) attempts at solving your own problems so we can help you work > on your specific weaknesses and become self-sufficient? > -- > Sent from my phone. Please excuse my brevity. > > On February 25, 2018 7:55:55 AM PST, Val <valkremk at gmail.com> wrote: > >HI Jim and all, > > > >I want to put one more condition. Include col2 and col3 if they are > >not > >in col1. > > > >Here is the data > >mydat <- read.table(textConnection("Col1 Col2 col3 > >K2 X1 NA > >Z1 K1 K2 > >Z2 NA NA > >Z3 X1 NA > >Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) > > > >The desired out put would be > > > > Col1 Col2 col3 > >1 X1 0 0 > >2 K1 0 0 > >3 Y1 0 0 > >4 W1 0 0 > >6 K2 X1 0 > >7 Z1 K1 K2 > >8 Z2 0 0 > >9 Z3 X1 0 > >10 Z4 Y1 W1 > > > >K2 is already is already in col1 and should not be added. > > > >Thank you in advance > > > > > > > > > > > > > > > >On Sat, Feb 24, 2018 at 6:38 PM, Jim Lemon <drjimlemon at gmail.com> > >wrote: > > > >> Hi Val, > >> My fault - I assumed that the NA would be first in the result > >produced > >> by "unique": > >> > >> mydat <- read.table(textConnection("Col1 Col2 col3 > >> Z1 K1 K2 > >> Z2 NA NA > >> Z3 X1 NA > >> Z4 Y1 W1"),header = TRUE,stringsAsFactors=FALSE) > >> val23<-unique(unlist(mydat[,c("Col2","col3")])) > >> napos<-which(is.na(val23)) > >> preval<-data.frame(Col1=val23[-napos], > >> Col2=NA,col3=NA) > >> mydat<-rbind(preval,mydat) > >> mydat[is.na(mydat)]<-"0" > >> mydat > >> > >> Jim > >> > >> On Sun, Feb 25, 2018 at 11:27 AM, Val <valkremk at gmail.com> wrote: > >> > 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]] > > > >______________________________________________ > >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]]