[R] include
Val
valkremk at gmail.com
Sun Feb 25 16:55:55 CET 2018
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]]
More information about the R-help
mailing list