Comments (7)
Hi @orchid00 - I know it seems crazy that things which are not equal should be called equal, but I disagree with you here that we shouldn't be encouraging people to use all.equal()
. It actually is best practice to not use ==
in non-integer comparisons, because otherwise you risk returning a non-equality when in fact there should be one, simply because of how floating point numbers are computed/stored. There's a much better explanation of the issue here on Stack Overflow.
Unless of course I misunderstood, and you were instead recommending that we change the comparison function to identical()
instead of all.equal()
, in which case I do agree with you, as long as there is also information in the tip that highlights the difference between exactly equal and almost equal.
I think the real key here is to point out how people can get caught up in the distinction between these different ways of testing for something that seems like it should otherwise be completely straightforward.
from r-novice-gapminder.
Maybe this point should be moved to a later discussion on testing your
software?
On 29 September 2015 at 02:54, Naupaka Zimmerman [email protected]
wrote:
Hi @orchid00 https://github.com/orchid00 - I know it seems crazy that
things which are not equal should be called equal, but I disagree with you
here that we shouldn't be encouraging people to use all.equal(). It
actually is best practice to not use == in non-integer comparisons,
because otherwise you risk returning a non-equality when in fact there
should be one, simply because of how floating point numbers are
computed/stored. There's a much better explanation of the issue here on
Stack Overflow
http://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal
.Unless of course I misunderstood, and you were instead recommending that
we change the comparison function to identical() instead of all.equal(),
in which case I do agree with you, as long as there is also information in
the tip that highlights the difference between exactly equal and almost
equal.I think the real key here is to point out how people can get caught up in
the distinction between these different ways of testing for something that
seems like it should otherwise be completely straightforward.—
Reply to this email directly or view it on GitHub
#65 (comment)
.
from r-novice-gapminder.
Maybe the best thing will be to add in the tip use isTRUE(all.equal(....)) and also recommend people to read ?all.equal and ?identical
from r-novice-gapminder.
Hi @orchid00 - want to give improving it a shot in a PR?
from r-novice-gapminder.
@orchid00 interested in pushing this one forward?
from r-novice-gapminder.
If not probably should close - it has been a while.
from r-novice-gapminder.
Closed because of no activity in over a year
from r-novice-gapminder.
Related Issues (20)
- Update instructions on creating a self contained project
- Clarify instructions on how to navigate to RStudio project
- Update pre-requisites for R lessons
- Reference instructions on why to create a git repo for a RStudio project
- Identify what "CSV" means earlier
- other values when checking data for factors
- Need instructions on how to create new script HOT 1
- Note intended for instructor view?
- Include note about built-in datasets in R HOT 2
- Include info on why the error in example might occur
- "Rinse and repeat" is an idiom that may not be understood by a global audience
- Is "pdf device" a commonly understood term? HOT 1
- Update "other great resources" HOT 2
- What is the intended purpose of the glossary?
- subscripts are actually strikethroughs HOT 2
- Smoother introduction to functions? HOT 1
- Add an instructor note about RStudio previewing colors HOT 1
- Remove code that is not needed HOT 2
- Address check annotations from GitHub Actions
- Add an episode on `purrr`? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from r-novice-gapminder.