Software-update: R 4.4.1

R logo (79 pix)R is een ontwikkelomgeving en programmeertaal voor statistische en data-analysedoeleinden. Het werd oorspronkelijk ontworpen door Ross Ihaka en Robert Gentleman (vandaar de naam R) aan de Universiteit van Auckland, Nieuw-Zeeland. In R is programmeren sterk objectgeoriënteerd en de functionaliteit kan uitgebreid worden via packages die onder andere via cran beschikbaar worden gesteld. Het R-coreteam, dat zich vandaag de dag bezighoudt met de doorontwikkeling, heeft versie 4.4.1 uitgebracht met de titel Race for Your Life. De changelog van deze uitgave ziet er als volgt uit:

C-Level Facilities:
  • Functions R_atof and R_strtod declared in header R_ext/Utils.h are now documented in 'Writing R Extensions' and so formally part of the API.
  • The non-API entry points Rf_setSVector, Rf_StringFalse, Rf_StringTrue and Rf_isBlankString have been added to those reported by R CMD check.
  • The new function Rf_allocLang is now available. This provides an alternative to the idiom of calling Rf_allocList followed by SET_TYPEOF.
Utilities:
  • R CMD check now reports as warnings what gfortran calls 'Fortran 2018 deleted features', all of which have long been marked as 'obsolescent' and some of which were deleted in Fortran 2008 or earlier. Fortran compilers are no longer required to support these.
Bug Fixes:
  • as.numeric(), scan(), type.convert() and other places which use the internal C function R_strtod now require a _non-empty_ digit sequence in a decimal or binary exponent. This aligns with the C/POSIX standard for strtod and with ?NumericConstants.
  • as.data.frame(m, make.names=NA) now works correctly for a matrix m with NA's in row names.
  • The error message from [["hour"]] and similar now mentions *[[, "hour"]], as wished for in PR#17409 and proposed by Michael Chirico.
  • qbinom() and potentially qpois(), qnbinom(), no longer sometimes fail accurate inversion (of pbinom(), etc), thanks to Christopher Chang's report and patch in PR#18711.
  • The internal help server on Windows can again serve requests sent in quick succession, fixing a regression in R 4.4.0.
  • debugcall(()) now also works when a corresponding S4-generic version is in the methods cache (PR#18143).
  • Package tools' toTitleCase(ch0) now returns character(0) when ch0 is of zero length; fixing PR#18724, reported by David Hugh Jones.
  • R CMD check is no longer broken (without a check result and no explanation in 00check.log) for a package which declares an invalid VignetteBuilder in DESCRIPTION but has no vignettes.

The R Project

Versienummer 4.4.1
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, Windows 8, Windows 10, Windows 11
Website The R Project
Download https://cran.r-project.org/src/base/R-4/
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

15-06-2024 • 18:22

8

Submitter: begintmeta

Bron: The R Project

Update-historie

12-04 R 4.5.0 25
01-11 R 4.4.2 0
06-'24 R 4.4.1 8
04-'24 R 4.4.0 0
03-'24 R 4.3.3 0
10-'23 R 4.3.2 4
06-'23 R 4.3.1 1
03-'23 R 4.2.3 0
10-'22 R 4.2.2 4
06-'22 R 4.2.1 0
Meer historie

Reacties (8)

8
8
4
1
0
4
Wijzig sortering
wordt veel gebruikt bij ons, maar is eigenlijk enorm inefficiënt. Even iets doen met een fikse matrix en het wordt traag of gebruikt enorm veel geheugen.

Voor veel dingen gebruik ik inmiddels Julia. Ondanks dat je heel veel kan met ggplot en consorten in R, vind ik het vaak makkelijker om grafieken te maken in Julia

Toegegeven, er zijn echt enorm veel packages beschikbaar in R (maar vaak ook een dependency hell, maar die heb je in Julia ook helaas, ondanks alle goede voornemens)

[Reactie gewijzigd door divvid op 22 juli 2024 20:51]

Heb je data.table al eens geprobeerd? In veel gevallen kun je daarmee veel efficiënter werken dan de normale data.frame(s). Zelfs als je ruwe matrices gebruikt, kan het nog een hoop schelen, doordat veel operaties parallel uitgevoerd worden. Ook gaat het veel slimmer om met geheugen.
Julia is leuk, maar is nog meer niche dan R al is. :)
Ja, dat gebruiken we zeker. Julia is ‘niche’ wellicht, maar in een python project met een expectation maximisation algoritme ergens in de pipeline kostte het ongeveer 15 minuten om dat kleine stukje code om te zetten in Julia met als gevolg een runtime die van 45 minuten naar 3 minuten ging voor een gemiddelde dataset. Het concurrerende R package deed over dezelfde dataset een uurtje of drie.
Klinkt goed. Begrijp me niet verkeerd, ik heb geen enkel probleem met niche oplossingen. Alleen kan het soms wel onhandig zijn op de lange termijn qua onderhoud. Dat soort dingen hangen sterk af van het bedrijf waar je voor werkt.
Ik heb vooral ervaring met R en Python, ooit in het begin ook naar Julia gekeken, maar ik heb helaas ook niet overal tijd voor. :)
Maar van 45 minuten naar 3 minuten gaan, met een redelijk eenvoudige migratie, klinkt als een goede deal!
Ik zal het zeker in mijn achterhoofd houden.
Ter info: voor mij is Julia ook erg nieuw. ik heb de python functie letterlijk in chatGPT gestopt en gevraagd te converteren naar Julia, daarna miniem aangepast.

Deze blog was handig.

[Reactie gewijzigd door fenrirs op 22 juli 2024 20:51]

Julia vind ik al best lang een interessant project, maar ik heb maar er maar één keer wat serieuzer gebruik gemaakt... Op zich wel mooi om te zien dat het inderdaad steeds meer toegepast wordt

Als ik zonder beperkingen zou kunnen kiezen tussen Julia en R, zou het eigenlijk altijd Julia zijn... Voor mij is het gegeven dat de meeste anderen in mijn vakgebied (epidemiologie) tegenwoordig R gebruiken (ook al worden ook commerciële pakketten nog steeds vaak gebruikt, heeft R een enorme opkomst doorgemaakt), naast in mindere mate gebrek aan tijd en mijn beperkte programmeervaardigheden, de reden dat ik praktisch vooral R gebruik. Python en Julia gebruik ik tegenwoordig denk ik ongeveer even vaak.

Ik zie Julia uiteindelijk nog wel verder groeien.
snap ik volkomen. V

Vaak is 'hetzelfde' doen als je peers in je vakgebied belangrijker dan super efficiënt zijn. Zo zie je in mijn vakgebied dat iedereen blijft refereren naar een database uit 2020, ook al is die met de huidige kennis achterhaald. Helaas is er te weinig funding en personeel voor het vernieuwen van die database, dus blijft iedereen doormodderen.
R gebruikt een GPL-licentie en is dus OpenSource, niet betaald. Een donatie zal natuurlijk altijd welkom zijn.
https://cran.r-project.org/
2.11 Can I use R for commercial purposes?

R is released under the GNU General Public License (GPL), version 2 or version 3. If you have any questions regarding the legality of using R in any particular situation you should bring it up with your legal counsel. We are in no position to offer legal advice.

Op dit item kan niet meer gereageerd worden.