ifelse problem - bug or operator error
Oops, sorry, I thought I was in plain text. I can't tell the difference because I use so little formatting in my emails. Try this (a truncated version since I have to hand space everything): PM.EXP PM.DIST.TOT PM.DIST_flag 0 0 0 6417 1 1 23 1 0 97691 2 1 0 0 0 33993 2 1 On Fri, Aug 24, 2012 at 4:36 PM, R. Michael Weylandt
<michael.weylandt at gmail.com> wrote:
On Fri, Aug 24, 2012 at 3:22 PM, Jennifer Sabatier <plessthanpointohfive at gmail.com> 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.
You probably should have: dput() makes it super easy as well.
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
Indeed it makes no sense to me either because you sent HTML email which got mangled by the server.
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. 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?
First guess.... standard problems with equality of floating point numbers. (See R FAQ 7.31 for the details) You probably want to change x == 1 to abs(x - 1) < 1e-05 or something similar. Cheers, Michael
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.