4 ms·
Not a whole lot is new. Highlights (from my perspective) : * matrices are now a subclass of arrays. * better reference counting to save on memory. * stringsA
by teruakohatu 7y ago
Not a whole lot is new. Highlights (from my perspective) :
* matrices are now a subclass of arrays.
* better reference counting to save on memory.
* stringsAsFactors = FALSE is now default breaking a lot of packages (was this really worth changing?)
* a new way of defining raw strings: r"(...)"
* better default colors for plots. The new default color scheme is less saturated. Apart from looking better, in the old scheme something plotted in bright yellow on a white background was hard to read. Yellow is now more of a mustard.
- _Wintermute 7y ago> stringsAsFactors = FALSE is now default breaking a lot of packages I know this is popular on the surface, but it's going to break so many "reproducible" analyses from manuscripts and scientific studies.
- KKPMW 7y agoThere is a global option controlling this. So if anyones analysis is broken, they can still set options(stringsAsFactors=TRUE). Furthermore the functions that are inherently about factors (like expand.grid and as.data.frame.table) still use stringsAsFactors=TRUE.
- SifJar 7y ago> So if anyones analysis is broken, they can still set options(stringsAsFactors=TRUE). But what are the chances that someone stumbling upon supposedly reproducible analysis happens to know that in R >4.0.0 they need to do this? Especially if the original analysis didn't even specify that it was originally run on R <4.0.0
- einpoklum 7y agoThere's a good chance they'll assume they need an R version from when the analysis was published, or to enable some sort of "old version compatibility mode" (does R have that?)
- hugh-avherald 7y agoBut it's a major version change and that's what major version changes are for.
- kachnuv_ocasek 7y agoReproducibles should be tied to specific versions of software or even OS and hardware. So no, this is not going to break correctly designed analyses. It's only going to break those which were not reproducible in the first place.
- _Wintermute 7y agoHence the quotation marks, the state of software engineering in many scientific fields isn't very good, you'll be lucky if people list which package versions they used.
- kachnuv_ocasek 7y agoFair enough. I might have misunderstood your remark originally, though the point stands, of course.
- deleted 7y ago[deleted]
- s1t5 7y ago* stringsAsFactors = FALSE is now default breaking a lot of packages (was this really worth changing?) Definitely worth it. Not sure how many packages it will break and whether it would count as breaking at all.
- nathell 7y agoFinally! I always forget to add it, and it inevitably causes frustration.
- jabl 7y ago> * stringsAsFactors = FALSE is now default breaking a lot of packages (was this really worth changing?) In my experience, both when I learned R myself back in the day, and teaching others to use it, this is something that trips up newbies over and over again. So from that perspective changing it is good. OTOH, a lot of existing code will need updating. Oh well..
- wodenokoto 7y agoWhat’s the benefit of the matrix change? I’ve never really worked with matrix types in R. What can I do in R4, that I couldn’t in R3? What mistakes will I avoid doing now that matrices are a subclass of arrays?