I fell in love with the R ecosystem during my PhD. Thousands of open source packages, all free. I never had to depend on Microsoft or a university license to do science. Now I write ecology packages and put them on CRAN. Independent tools for independent science. #rstats
Gilles Colling
mastodon 4.7.3left_join() with relationship = "many-to-many" suppresses the warning. But a warning you can silence isn't a contract.
join_strict() makes cardinality explicit: 1:1, 1:many, many:many. State what you expect. Get a hard error when it's violated.
New alien plant species per decade in Austria:
1950s → 14
2010s → 47
No plateau. The rate itself is accelerating.
VIF says drop temperature. But there are 23 valid subsets of uncorrelated variables — and temperature survives in 19 of them.
VIF picked one subset and hid the other 22.
corrselect enumerates ALL of them. You choose.
80% of eBird checklists in Austria are within 500m of a parking lot.
That species gradient you're mapping? It's a gradient of where people stop their cars.
Relative abundance went up 30%.
Sounds like good news — until you realize the focal species stayed flat and everything else crashed.
A ratio can't tell you which side moved. numdenom models numerator and denominator jointly so you actually know.
Relative abundance went up 30%. Which part moved — focal species increased, or everything else decreased?
A ratio collapses two biological processes into one number. Can't tell which drove it.
numdenom fits numerator and denominator as a joint model with shared random effects. Sites that are good for the focal species tend to be good overall — the model captures that correlation instead of collapsing it. The ratio becomes interpretable again.
Square grid cells at the equator are 2x the area of cells at 60°N. Bigger cells capture more observations — and if a spatial process spans more than a few degrees of latitude, that area distortion might mess up ALL the downstream statistics.
hexify uses the Snyder equal-area projection — a polyhedral projection that tiles the Earth into hexagons where every cell has the SAME area regardless of latitude. C++ backend, scales from 10 km² field plots to 7,774 km² continental grids.