[R] include

Jim Lemon drjimlemon at gmail.com
Sun Feb 25 01:38:32 CET 2018


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.
>
>



More information about the R-help mailing list