Programování

Aktualizace jazyka Major R přináší velké změny

Byla vydána verze 4.0.0 jazyka R pro statistické výpočty se změnami v syntaxi jazyka a funkcemi týkajícími se kontroly chyb a dlouhých vektorů.

Aktualizace byla zveřejněna 24. dubna. Zdrojový kód pro R 4.0.0 je k dispozici na cran.r-project.org. Projekt GNU, R shromáždil páru se vzestupem vědy o datech a strojového učení, který je v současné době na 10. místě v Tiobe Indexu popularity jazyka a na sedmém místě v PyPL Popularity of Programming Language index.

Související video: Nové funkce R 4.0

Mezi změny a funkce zavedené v R 4.0.0 patří:

  • Je nabízena nová syntaxe pro specifikaci _raw_ znakových konstant podobných té, která se používá v C ++, kder „...“ lze použít k definování doslovného řetězce. To usnadňuje psaní řetězců obsahujících zpětná lomítka nebo jednoduché i dvojité uvozovky.
  • Jazyk nyní používá a stringAsFactors = FALSE default, a tedy ve výchozím nastavení již nepřevádí řetězce na faktory při volání data.frame () a read.table (). Mnoho balíčků se spoléhalo na předchozí chování a bude třeba je aktualizovat.
  • Obecná funkce S3 spiknutí() nyní je v balíku spíše než v balíčku; je rozumné mít metody, které nepoužívají grafický balíček. Generikum se aktuálně znovu exportuje z oboru názvů grafiky, aby balíčky, které jej odtud importují, mohly fungovat, ale v budoucnu by se to mohlo změnit. Balíčky, které definují grafiku S4 pro spiknutí() by měl být znovu nainstalován a kód balíku pomocí takových generik z jiných balíčků musí zajistit, že jsou importovány, spíše než spoléhat na to, že jsou hledány na vyhledávací cestě.
  • Metody S3 pro pole třídy jsou nyní odeslány pro maticové objekty.
  • Počítání referencí se nyní používá místo mechanismu NAMED k určení, kdy lze objekty bezpečně mutovat do základního kódu C. To v některých případech snižuje potřebu kopírování a mělo by to umožnit budoucí optimalizaci. Očekává se také, že pomůže usnadnit údržbu interního kódu.
  • assertError () a assertWarning () v balíčkových nástrojích nyní můžete zkontrolovat specifiCtřídy chyb nebo varování prostřednictvím nového volitelného druhého argumentu třídy.
  • DF2formula (), nástroj pro metodu datového rámce vzorec(), nyní funguje bez analýzy a explicitního vyhodnocení.
  • Dlouhé vektory jsou nyní podporovány jako násl argument a pro() smyčka.
  • matice() nyní převádí sloupce znaků na faktory a faktory na celá čísla.
  • kostra() nyní explicitně uvádí všechny exporty v souboru NAMESPACE.
  • Vnitřní implementace jednotek mřížky se změnila. Jedinými viditelnými efekty na uživatelské úrovni by měl být mírně odlišný formát tisku pro některé jednotky, rychlejší výkon operací jednotek a dvě nové funkce, unitType () a unit.psum ().
  • Tisk metody (..) nyní používá nový formát() metoda.
  • Balíčky musí být znovu nainstalovány pod novou verzí R.
  • Tato verze R je postavena proti knihovně PCRE2 pro regulární výrazy podobné Perlu, pokud jsou k dispozici.
  • Počátky podpory pro C ++ 20.
  • Čas potřebný ke spuštění homogenního klastru PSOCK na localhostu s mnoha uzly byl výrazně zkrácen.
  • Existuje také řada zastaralých. Například make makro F77_VISIBILITY bylo odstraněno a nahrazeno F_VISIBILITY; zastaralá podpora pro specifikaci C ++ 98 pro instalaci balíčku byla odstraněna; a mnoho zaniklých funkcí bylo odstraněno z balíčků základny a metod.