Programmering

Major R-sprogopdatering medfører store ændringer

Version 4.0.0 af R-sproget til statistisk databehandling er frigivet med ændringer i sprogets syntaks samt funktioner vedrørende fejlkontrol og lange vektorer.

Opgraderingen blev offentliggjort den 24. april. Kildekoden til R 4.0.0 er tilgængelig på cran.r-project.org. Et GNU-projekt, R, har samlet damp med stigningen i datavidenskab og maskinindlæring, der i øjeblikket rangerer 10. i Tiobe-indekset over sprogpopularitet og syvende i PyPL Popularity of Programming Language index.

Relateret video: Nye R 4.0-funktioner

Ændringer og funktioner introduceret i R 4.0.0 inkluderer:

  • En ny syntaks tilbydes til angivelse af _raw_-tegnkonstanter svarende til den, der bruges i C ++, hvorr "..." kan bruges til at definere en bogstavelig streng. Dette gør det lettere at skrive strenge, der indeholder tilbageslag eller både enkelt og dobbelt anførselstegn.
  • Sprog bruger nu en stringAsFactors = FALSE standard, og konverterer således som standard ikke længere strenge til faktorer i opkald til data.frame () og read.table (). Mange pakker var afhængige af den tidligere adfærd og skal opdateres.
  • S3 generiske funktion grund() nu er i pakkebase snarere end pakkegrafik; det er rimeligt at have metoder, der ikke bruger grafikpakken. Generikken eksporteres i øjeblikket fra det grafiske navneområde for at tillade pakker, der importerer det derfra, at fortsætte med at arbejde, men dette kan ændre sig i fremtiden. Pakker, der definerer S4-grafik til grund() skal geninstalleres, og pakkekode, der bruger sådanne generiske produkter fra andre pakker, skal sikre, at de importeres i stedet for at stole på, at der søges efter dem i søgestien.
  • S3-metoder til klassearray sendes nu til matrixobjekter.
  • Referencetælling bruges nu i stedet for NAMED-mekanismen til at bestemme, hvornår objekter sikkert kan muteres til base C-kode. Dette reducerer behovet for kopiering i nogle tilfælde og bør muliggøre fremtidige optimeringer. Det forventes også at hjælpe med at gøre intern kode lettere at vedligeholde.
  • assertError () og hævde Advarsel () i pakkeværktøjer kan nu kontrollere for specifikkecfejl- eller advarselsklasser via det nye valgfri andet argument klasser.
  • DF2formel (), hjælpeprogrammet til datarammemetoden formel(), fungerer nu uden parsing og eksplicit evaluering.
  • Lange vektorer understøttes nu som sekv argument af en til() løkke.
  • matrix () konverterer nu tegnkolonner til faktorer og faktorer til heltal.
  • skelet() viser nu eksplicit alle eksporter i filen NAMESPACE.
  • Den interne implementering af netenheder er ændret. De eneste synlige effekter på brugerniveau skal være et lidt andet udskriftsformat for nogle enheder, hurtigere ydeevne til enhedsoperationer og to nye funktioner, enhedstype () og unit.psum ().
  • Trykning metoder (..) bruger nu en ny format() metode.
  • Pakker skal geninstalleres under den nye version af R.
  • Denne version af R er bygget op mod PCRE2-biblioteket til Perl-lignende regulære udtryk, hvis de er tilgængelige.
  • Begyndelsen af ​​support til C ++ 20.
  • Den nødvendige tid til at starte en homogen PSOCK-klynge på localhost med mange noder er reduceret betydeligt.
  • Der er også en række afskrivninger. For eksempel, lav makro F77_VISIBILITY er blevet fjernet og erstattet med F_VISIBILITY; forældet support til angivelse af C ++ 98 til pakkeinstallation er fjernet; og mange nedlagte funktioner er blevet fjernet fra basis- og metodepakkerne.