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]]
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.
>
>
Thank you so much Jim! 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]]
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]]