ifelse problem - bug or operator error
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.