[R] ifelse problem - bug or operator error
Jennifer Sabatier
plessthanpointohfive at gmail.com
Fri Aug 24 23:22:59 CEST 2012
Hi Peter,
I'm really sorry, I thought I was in plain text. I don't use any
formatting in my emails and in Gmail the HTML looks the same as plain
text.
Anyway, I've attached the data (I didn't think we could do that but I
am frequently wrong).
I say many cases because this is just a subset of >300 observations.
The error seems to happen without a pattern I can discern. I am
assuming I am doing something wrong.
Thanks,
Jen
On Fri, Aug 24, 2012 at 5:17 PM, Peter Ehlers <ehlers at ucalgary.ca> wrote:
> On 2012-08-24 13:22, Jennifer Sabatier wrote:
>>
>> Hi R-Helpers,
>>
>> I don't think I need to post a dataset for this question but if I do, I
>> can. Anyway, I am having a lot of trouble with the ifelse command.
>>
>> Here is my code:
>>
>>
>> vn$PM.DIST_flag <- ifelse( (vn$PM.EXP > 0.0) & (vn$PM.DIST.TOT != 1.0), 1,
>> 0 )
>>
>>
>> And here is my output that doesn't make ANY sense:
>>
>> PM.EXP PM.DIST.TOT PM.DIST_flag 0 0 0 0 0 0 0 0 0 177502 1 0 31403
>> 1
>> 0 0 0 0 1100549 1 0 38762 1 0 0 0 0 20025 1 0 0 0 0 13742 1 0 0 0
>> 0
>> 83078 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 165114 1 0 0 0 0 417313 1 0 3546 1 0 4613 1 0 225460 1 0 6417 1 1
>> 23
>> 1 0 3402 1 0 8504 1 1 8552 1 0 9723 1 0 37273 1 1 396 1 0 1478 1 0
>> 2074 1 0 12220 1 1 97691 2 1 0 0 0 33993 2 1
>>
>> As you can see, there are many instances where PM.EXP > 0 and PM.DIST.TOT
>> =
>> 1 yet PM.DIST_flag = 1 and it should be 0. It should only flag in cases
>> such as the last line of data.
>
>
> _Many_ instances?? I see only 4 such cases. Still not good, though.
> Here's what you should do:
>
> 1. Don't send html mail.
> 2. use simple variable names (x,y,z would do fine here).
> 3. either provide the data or at least a part of it with dput() or
> at least provide str(vn).
> 4. when you're trying to decide between operator error and bug, go
> with the operator error theory. You'll be correct at least 99% of
> the time.
>
> I ran your command on the above (suitably deciphered) data and had no
> problem getting what I think you expect (i.e. the four suspect cases
> came out just as they should). But what my mailer provides as your
> data may not be what you really have.
>
> Oh, and get a bandage for that head bruise.
>
> Peter Ehlers
>
>>
>> WWHHHYYYYYYYY???? Why why why why why why why? Why?
>>
>> (Sorry, I've been trying to figure this out for hours and I've devolved to
>> mumbling in corners and banging my head against the table)
>>
>> What in the world am I doing wrong? Or is ifelse not the right function?
>>
>> Best,
>>
>> Jen
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> 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