Glavno ažuriranje jezika R donosi velike promjene

Objavljena je verzija 4.0.0 jezika R za statističko računanje, s promjenama u sintaksi jezika, kao i značajkama koje se odnose na provjeru pogrešaka i duge vektore.

Nadogradnja je objavljena 24. travnja. Izvorni kod za R 4.0.0 dostupan je na cran.r-project.org. GNU projekt, R je skupio pare porastom znanosti o podacima i strojnog učenja, trenutno zauzimajući 10. mjesto u Tiobe indeksu jezične popularnosti i sedmo u PyPL indeksu popularnosti programskog jezika.

Povezani videozapis: Nove značajke R 4.0

Promjene i značajke predstavljene u R 4.0.0 uključuju:

  • Ponuđena je nova sintaksa za specificiranje _raw_ znakovnih konstanti slične onoj koja se koristi u C ++, gdje  r"..."se može koristiti za definiranje doslovnog niza. To olakšava pisanje nizova koji sadrže obrnute kose crte ili i jednostruke i dvostruke navodnike.
  • Jezik sada koristi stringAsFactors = FALSEzadani, a time prema zadanim postavkama više ne pretvara nizove u faktore u pozivima na data.frame()i read.table(). Mnogi su se paketi oslanjali na prethodno ponašanje i trebat će ih ažurirati.
  • Generička funkcija S3 plot()sada je u osnovi paketa, a ne u paketnoj grafici; razumno je imati metode koje ne koriste grafički paket. Generički se trenutno ponovno izvozi iz grafičkog prostora imena kako bi paketi koji ga odatle uvoze nastavili raditi, ali to bi se moglo promijeniti u budućnosti. Paketi koji definiraju S4 grafiku plot()trebaju se ponovno instalirati, a kod paketa koji koristi takve generičke proizvode iz drugih paketa mora osigurati da su uvezeni, a ne da se oslanjaju na traženje na putu pretraživanja.
  • S3 metode za niz klasa sada se šalju za matrične objekte.
  • Brojanje referenci sada se koristi umjesto mehanizma NAMED za određivanje kada se objekti mogu sigurno mutirati u osnovni C kod. To smanjuje potrebu za kopiranjem u nekim slučajevima i trebalo bi omogućiti buduće optimizacije. Također se očekuje da će olakšati održavanje internog koda.
  • assertError()a assertWarning()u paket alata sada mogu provjeriti za specifi pogreške ili upozorenja nastavi putem novog dodatnog drugog argumenta classes.
  • DF2formula(), uslužni program za metodu okvira podataka formula(), sada radi bez raščlanjivanja i izričite procjene.
  • Dugi vektori sada su podržani kao seqargument for()petlje.
  • matrix() sada pretvara stupce znakova u faktore, a faktore u cjelobrojne.
  • skeleton() sada izričito navodi sav izvoz u datoteku NAMESPACE.
  • Izmijenila se interna primjena mrežnih jedinica. Jedini vidljivi efekti na korisničkoj razini trebali bi biti malo drugačiji format ispisa za neke jedinice, brže performanse za rad s jedinicama i dvije nove funkcije unitType()i unit.psum().
  • Ispis se methods (..)sada koristi novom format()metodom.
  • Paketi se moraju ponovno instalirati pod novom verzijom R.
  • Ova verzija R-a izgrađena je prema knjižnici PCRE2 za regularne izraze nalik Perlu ako su dostupni.
  • Počeci podrške za C ++ 20.
  • Vrijeme potrebno za pokretanje homogenog PSOCK klastera na localhostu s mnogo čvorova značajno je smanjeno.
  • Postoji i niz umanjenja vrijednosti. Na primjer, makronaredba make F77_VISIBILITY je uklonjena i zamijenjena s F_VISIBILITY; Uklonjena je zastarjela podrška za specificiranje C ++ 98 za instalaciju paketa; a mnoge su neaktivne funkcije uklonjene iz paketa baze i metoda.