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 <- 0That'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/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
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]]
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]]
That's not right in general, is it? I'd think that should be
x[!is.na(x1)] <- 0
x2 <- x1
I left out a '1' on the first line - it should have been
x1[!is.na(x1)] <- 0
In the following examples the value of the assignment
expression is the right hand side of the assignment.
> x1 <-
factor(c("A","B","C","D","E"))
> x2 <- x1[2:5] <- c("C","E")
> str(x1)
Factor w/ 5 levels "A","B","C","D",..:
1 3 5 3 5> str(x2)
chr [1:2] "C" "E"
'
> x1 <- (2:5) + 1i * (5:2)
> x2 <- x1[ Mod(x1) == 5 ] <- c(17L, 19L)
> str(x1)
cplx [1:4] 2+5i 17+0i 19+0i ...> str(x2)
int [1:2] 17 19
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Sat, Feb 24, 2018 at 3: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]]