Kemas kini bahasa R utama membawa perubahan besar

Versi 4.0.0 dari bahasa R untuk pengkomputeran statistik telah dirilis, dengan perubahan pada sintaks bahasa serta fitur yang berkaitan dengan kesalahan ralat dan vektor panjang.

Peningkatan diterbitkan pada 24 April. Kod sumber untuk R 4.0.0 boleh diakses di cran.r-project.org. Sebagai projek GNU, R telah mengumpulkan kekuatan dengan peningkatan sains data dan pembelajaran mesin, yang kini menduduki tempat ke-10 dalam Indeks Tiobe populariti bahasa dan ketujuh dalam indeks Bahasa Pengaturcaraan Populariti PyPL

Video berkaitan: Ciri R 4.0 baru

Perubahan dan ciri yang diperkenalkan dalam R 4.0.0 merangkumi:

  • Sintaks baru ditawarkan untuk menentukan pemalar watak _raw_ yang serupa dengan yang digunakan dalam C ++, di mana  r"..."dapat digunakan untuk menentukan rentetan literal. Ini menjadikannya lebih mudah untuk menulis rentetan yang mengandungi garis miring terbalik atau tanda petik tunggal dan dua.
  • Bahasa sekarang menggunakan stringAsFactors = FALSElalai, dan dengan itu secara lalai tidak lagi menukar rentetan menjadi faktor dalam panggilan ke data.frame()dan read.table(). Banyak pakej bergantung pada tingkah laku sebelumnya dan perlu dikemas kini.
  • Fungsi generik S3 plot()kini terdapat dalam pakej dan bukannya grafik pakej; adalah wajar untuk mempunyai kaedah yang tidak menggunakan pakej grafik. Generik pada masa ini dieksport semula dari ruang nama grafik untuk membolehkan pakej yang mengimportnya dari sana terus berfungsi, tetapi ini boleh berubah pada masa akan datang. Pakej yang menentukan grafik S4 plot()harus dipasang semula dan kod paket menggunakan generik seperti itu dari pakej lain mesti memastikan ia diimport daripada bergantung pada dicari di jalan pencarian.
  • Kaedah S3 untuk susunan kelas sekarang dihantar untuk objek matriks.
  • Penghitungan rujukan sekarang digunakan dan bukannya mekanisme NAMED untuk menentukan kapan objek dapat dimutasi dengan selamat menjadi kod C asas. Ini mengurangkan keperluan untuk menyalin dalam beberapa kes dan harus memungkinkan pengoptimuman masa depan. Ia juga diharapkan dapat membantu menjadikan kod dalaman lebih mudah dijaga.
  • assertError()dan assertWarning()dalam alat pakej kini boleh menyemak dengan khusus kesilapan atau amaran kelas melalui hujah kedua pilihan baru classes.
  • DF2formula(), utiliti untuk kaedah kerangka data formula(), kini berfungsi tanpa menghurai dan menilai secara eksplisit.
  • Vektor panjang kini disokong sebagai seqhujah for()gelung.
  • matrix() kini menukar lajur watak menjadi faktor dan faktor menjadi bilangan bulat.
  • skeleton() sekarang secara eksplisit menyenaraikan semua eksport dalam fail NAMESPACE.
  • Pelaksanaan dalaman unit grid telah berubah. Satu-satunya kesan yang dapat dilihat di peringkat pengguna mestilah format cetakan yang sedikit berbeza untuk beberapa unit, prestasi yang lebih pantas untuk operasi unit, dan dua fungsi baru, unitType()dan unit.psum().
  • Percetakan methods (..)kini menggunakan format()kaedah baru .
  • Pakej mesti dipasang semula di bawah versi baru R.
  • Versi R ini dibina berdasarkan perpustakaan PCRE2 untuk ungkapan biasa seperti Perl jika ada.
  • Permulaan sokongan untuk C ++ 20.
  • Masa yang diperlukan untuk memulakan kluster PSOCK homogen di localhost dengan banyak nod telah dikurangkan dengan ketara.
  • Terdapat juga sebilangan penghentian. Contohnya, buat makro F77_VISIBILITY telah dikeluarkan dan diganti dengan F_VISIBILITY; sokongan yang tidak digunakan untuk menentukan C ++ 98 untuk pemasangan pakej telah dikeluarkan; dan banyak fungsi yang tidak berfungsi telah dikeluarkan dari pangkalan dan kaedah pakej.