Programmering

Stor R-språkoppdatering gir store endringer

Versjon 4.0.0 av R-språket for statistisk databehandling er utgitt, med endringer i syntaksen til språket, samt funksjoner knyttet til feilkontroll og lange vektorer.

Oppgraderingen ble publisert 24. april. Kildekoden for R 4.0.0 er tilgjengelig på cran.r-project.org. Et GNU-prosjekt, R, har samlet damp med fremveksten av datavitenskap og maskinlæring, og er for tiden rangert som 10. i Tiobe-indeksen for språkpopularitet og syvende i PyPL Popularity of Programming Language index.

Relatert video: Nye R 4.0-funksjoner

Endringer og funksjoner introdusert i R 4.0.0 inkluderer:

  • En ny syntaks tilbys for å spesifisere _raw_ tegnkonstanter som ligner på den som brukes i C ++, hvorr "..." kan brukes til å definere en bokstavelig streng. Dette gjør det lettere å skrive strenger som inneholder tilbakeslag eller begge anførselstegn.
  • Språket bruker nå en stringAsFactors = FALSE standard, og konverterer dermed som standard ikke lenger strenger til faktorer i samtaler til Dataramme() og read.table (). Mange pakker er avhengige av den tidligere oppførselen og må oppdateres.
  • S3 generiske funksjon plott() nå er i pakkebase i stedet for pakkegrafikk; det er rimelig å ha metoder som ikke bruker grafikkpakken. Generisk eksporteres for øyeblikket fra grafikkens navneområde for å tillate at pakker som importerer det derfra, kan fortsette å fungere, men dette kan endres i fremtiden. Pakker som definerer S4-grafikk for plott() skal installeres på nytt, og pakkekoden ved bruk av slike generiske produkter fra andre pakker, må sikre at de importeres i stedet for å stole på at de blir søkt etter i søkebanen.
  • S3-metoder for klassearrise nå blir sendt for matriseobjekter.
  • Referansetelling brukes nå i stedet for NAMED-mekanismen for å bestemme når objekter trygt kan muteres til base C-kode. Dette reduserer behovet for kopiering i noen tilfeller og bør muliggjøre fremtidige optimaliseringer. Det forventes også å bidra til å gjøre intern kode lettere å vedlikeholde.
  • assertError () og assertWarning () i pakkeverktøy kan nå se etter spesifikasjonercfeil- eller varslingsklasser via det nye valgfrie andre argumentet klasser.
  • DF2formel (), verktøyet for datarammemetoden formel(), fungerer nå uten parsing og eksplisitt evaluering.
  • Lange vektorer støttes nå som seq argument av en til() Løkke.
  • matrise() konverterer nå tegnkolonner til faktorer og faktorer til heltall.
  • skjelett() viser nå eksplisitt all eksport i NAMESPACE-filen.
  • Den interne implementeringen av nettene har endret seg. De eneste synlige effektene på brukernivå bør være et litt annet utskriftsformat for noen enheter, raskere ytelse for enhetsoperasjoner og to nye funksjoner, enhets type() og unit.psum ().
  • Printing metoder (..) bruker nå en ny format() metode.
  • Pakker må installeres på nytt under den nye versjonen av R.
  • Denne versjonen av R er bygget opp mot PCRE2-biblioteket for Perl-lignende regulære uttrykk hvis tilgjengelig.
  • Begynnelsen av støtte for C ++ 20.
  • Tiden som trengs for å starte en homogen PSOCK-klynge på localhost med mange noder har blitt redusert betydelig.
  • Det er også en rekke avskrivninger. Lag for eksempel makro F77_VISIBILITY er fjernet og erstattet med F_VISIBILITY; utdatert støtte for å spesifisere C ++ 98 for pakkeinstallasjon er fjernet; og mange nedlagte funksjoner er fjernet fra basis- og metodepakkene.
$config[zx-auto] not found$config[zx-overlay] not found