[R] include

William Dunlap wdunlap at tibco.com
Sun Feb 25 02:00:23 CET 2018


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



More information about the R-help mailing list