Unele ferestre. Olympus XA, Portra 800. Foto de Nicholas Tierney
Noua versiune R 4.5.0 a ieșit și ar trebui să o obțineți!
Am citit fișierul de știri, care detaliază fiecare schimbare – sunt multe! V -aș recomanda să aveți un degresat.
Dacă doriți să aveți un skim al dosarului de știri, folosiți chiar și news()
Funcția R, care va deschide fișierul de știri în panoul de fișiere de ajutor din RStudio. Acest lucru ne poate spune, de asemenea, câte știri au fost adăugate:
news_4_5_0 <- news(Version == "4.5.0")
# just show the first 5
head(news_4_5_0)
#> Changes in version 4.5.0
#>
#> NEW FEATURES
#>
#> o as.integer(rl) and hence as.raw(rl) now work for a list of
#> raw(1) elements, as proposed by Michael Chirico's PR#18696.
#>
#> o graphics' grid() gains optional argument nintLog.
#>
#> o New functions check_package_urls() and check_package_dois() in
#> package tools for checking URLs and DOIs in package sources.
#>
#> o New head() and tail() methods for class "ts" time series,
#> proposed by Spencer Graves on R-devel.
#>
#> o New qr.influence() function, a "bare bones" interface to the
#> lm.influence() leave-one-out diagnostics computations; wished
#> for in PR#18739.
#>
#> o Package citation() results auto-generated from the package
#> metadata now also provide package DOIs for CRAN and
#> Bioconductor packages.
Munca acestei versiuni a implicat multe persoane și există 150 de schimbări. Cred că merită să citesc aceste schimbări și sunt incredibil de recunoscător tuturor voluntarilor uimitori care și -au pus timpul și energia pentru a continua să facă R stabil și minunat.
M -am gândit că voi împărtăși doar câteva dintre schimbările care mi -au sărit la mine în timp ce citeam.
install.packages()
şidownload.packages()
descărcați pachetele simultan folosindlibcurl
reducerea semnificativă a timpilor de descărcare la instalarea sau descărcarea mai multor pachete.
Asta e fain! Instalarea pachetelor este acum mult mai rapidă! Îmi place asta. În general, folosesc pak
ceea ce cred că face deja acest lucru. Dar este un câștig frumos pentru Vanilla R să știe că pot descărca lucrurile mai repede.
Există două seturi de date noi adăugate la R! Ultima dată (pe care l -am putut găsi) a fost adăugat un nou set de date la R a fost în R versiunea R 3.0.2, care, care a mers la datele de lansare, a fost în septembrie 2013. Deci, acum aproape 12 ani! Acel articol de știri citește:
Set de date
npk
a fost copiat din masă pentru a permite efectuarea mai multor teste fără a fi instalate pachetele recomandate.
S -ar putea să fiți familiarizați cu una dintre aceste seturi de date noi, datele Penguins (!) Din palmerpenguins
Pachet R.
Lucrări de artă de Allison Horst
Știrile se arată:
Noi seturi de date Pinguini și Penguins_Raw datorită Ella Kaye, Heather Turner și Kristen Gorman.
Este uriaș! Ei bine, cred că este. Acum nu trebuie să scriem library(palmerpenguins)
Dacă doriți să utilizați penguins
sau penguins_raw
date. Privind exemplele, putem vedea următoarele vizualizări de bază:
## bill depth vs. length by species (color) and sex (symbol):
## positive correlations for all species, males tend to have bigger bills
head(penguins)
#> species island bill_len bill_dep flipper_len body_mass sex year
#> 1 Adelie Torgersen 39.1 18.7 181 3750 male 2007
#> 2 Adelie Torgersen 39.5 17.4 186 3800 female 2007
#> 3 Adelie Torgersen 40.3 18.0 195 3250 female 2007
#> 4 Adelie Torgersen NA NA NA NA 2007
#> 5 Adelie Torgersen 36.7 19.3 193 3450 female 2007
#> 6 Adelie Torgersen 39.3 20.6 190 3650 male 2007
names(penguins)
#> (1) "species" "island" "bill_len" "bill_dep" "flipper_len"
#> (6) "body_mass" "sex" "year"
sym <- c(1, 16)
pal <- c(
"darkorange",
"purple",
"cyan4"
)
plot(
bill_dep ~ bill_len,
data = penguins,
pch = sym(sex),
col = pal(species)
)
Este demn de remarcat faptul că numele variabile sunt ușor diferite în noua versiune de bază R – bill_len
(nu bill_length
) bill_dep
(nu bill_depth
), și flipper_len
(nu flipper_length
), pe care le notează în Helpfile: „Datele Penguins au câteva nume variabile mai scurte decât versiunea Palmerpenguins, pentru cod compact și afișare de date.”
S -a lucrat un pic de lucru pe datele Pinguinilor și am vrut să împărtășesc referințele relevante:
-
Gorman, KB, Williams, TD și Fraser, WR (2014) Dimorfism sexual ecologic și variabilitatea mediului în cadrul unei comunități de pinguini din Antarctica (genul Pygoscelis). PLOS ONE 9, 3, E90081; doi: 10.1371/journal.pone.0090081.
-
Horst, AM, Hill, AP și Gorman, KB (2022) Palmer Arhipelago Pinguins Date în pachetul Palmerpenguins R – o alternativă la irisurile lui Anderson. R Journal 14, 1; doi: 10.32614/RJ-2022-020.
-
Kaye, E., Turner, H., Gorman, KB, Horst, AM și Hill, AP (2025) Pregătirea datelor Palmer Pinguins pentru pachetul de seturi de date din R. doi: 10.5281/zenodo.14902740.
Și există un alt set de date!
Noul set de date de seturi de date datorită Heather Turner și Ella Kaye, utilizate în exemple.
Nu mai întâlnisem asta înainte, FFILE de ajutor (?gait
) citește:
Unghiul de șold și genunchi (în grade) printr -un ciclu de mișcare de 20 de puncte pentru 39 de băieți.
Care este stocat ca un tablou 3D, așa cum se menționează în fișierul de ajutor:
Un tablou tridimensional cu dimensiunile C (20, 39, 2) dând „unghiul de șold” și „unghiul genunchiului” (în grade) pentru 39 de repetări ale unui ciclu de mers de 20 de puncte (peste timpi de mers standardizat).
head(gait)
#> , , Variable = Hip Angle
#>
#> Subject
#> Time boy1 boy2 boy3 boy4 boy5 boy6 boy7 boy8 boy9 boy10 boy11 boy12 boy13
#> 0.025 37 47 46 37 20 57 46 46 46 35 38 35 34
#> 0.075 36 46 44 36 18 48 38 46 42 34 37 31 31
#> 0.125 33 42 39 27 11 44 33 43 37 29 33 29 27
#> 0.175 29 34 34 20 8 35 25 40 34 28 29 26 23
#> 0.225 23 27 33 15 7 31 18 36 31 19 26 22 19
#> 0.275 18 21 27 15 5 27 15 30 25 15 20 19 15
#> Subject
#> Time boy14 boy15 boy16 boy17 boy18 boy19 boy20 boy21 boy22 boy23 boy24 boy25
#> 0.025 43 43 40 51 52 36 35 46 43 55 39 37
#> 0.075 41 37 41 49 46 33 37 38 41 51 38 34
#> 0.125 36 35 36 45 41 28 33 30 37 47 31 30
#> 0.175 31 28 32 39 35 22 27 23 30 41 27 27
#> 0.225 26 26 27 31 31 18 22 17 24 35 21 26
#> 0.275 20 21 20 23 24 13 14 13 16 30 14 19
#> Subject
#> Time boy26 boy27 boy28 boy29 boy30 boy31 boy32 boy33 boy34 boy35 boy36 boy37
#> 0.025 36 36 42 38 46 54 52 32 46 46 48 44
#> 0.075 33 33 40 34 47 48 44 28 41 44 42 41
#> 0.125 28 30 40 30 44 44 44 26 38 40 42 38
#> 0.175 22 28 34 23 37 37 33 22 31 35 35 32
#> 0.225 18 21 23 17 29 30 28 19 25 31 30 24
#> 0.275 13 15 15 12 23 27 27 13 20 25 23 18
#> Subject
#> Time boy38 boy39
#> 0.025 55 48
#> 0.075 56 50
#> 0.125 51 47
#> 0.175 46 42
#> 0.225 41 37
#> 0.275 36 29
#>
#> , , Variable = Knee Angle
#>
#> Subject
#> Time boy1 boy2 boy3 boy4 boy5 boy6 boy7 boy8 boy9 boy10 boy11 boy12 boy13
#> 0.025 10 16 18 5 2 15 13 14 15 9 13 7 9
#> 0.075 15 25 27 14 6 17 16 17 20 22 24 8 14
#> 0.125 18 28 32 16 6 23 22 18 23 25 27 11 16
#> 0.175 18 25 32 17 6 23 17 19 26 21 23 12 15
#> 0.225 15 18 28 10 5 20 12 19 25 10 18 8 15
#> 0.275 14 12 23 8 6 19 9 15 21 9 13 6 12
#> Subject
#> Time boy14 boy15 boy16 boy17 boy18 boy19 boy20 boy21 boy22 boy23 boy24 boy25
#> 0.025 15 6 11 24 16 16 7 21 11 12 8 11
#> 0.075 20 11 19 32 20 20 13 24 14 17 12 20
#> 0.125 22 20 30 35 21 22 14 25 14 20 14 22
#> 0.175 22 18 28 33 20 21 17 21 11 20 13 21
#> 0.225 21 13 25 29 18 20 14 16 8 18 12 21
#> 0.275 19 9 17 24 14 20 8 9 5 12 9 17
#> Subject
#> Time boy26 boy27 boy28 boy29 boy30 boy31 boy32 boy33 boy34 boy35 boy36 boy37
#> 0.025 16 19 13 11 17 20 18 9 8 9 13 19
#> 0.075 20 26 23 15 25 20 18 12 10 18 18 23
#> 0.125 22 28 30 19 30 22 25 16 17 19 27 26
#> 0.175 21 28 28 20 30 16 23 15 16 19 26 25
#> 0.225 20 24 19 18 27 10 18 14 12 19 25 21
#> 0.275 20 18 10 17 22 10 19 11 10 15 18 18
#> Subject
#> Time boy38 boy39
#> 0.025 16 14
#> 0.075 23 25
#> 0.125 28 32
#> 0.175 28 34
#> 0.225 25 30
#> 0.275 21 20
Cu exemplele care au o vizualizare a datelor Nifty:
plot(
gait(, 1, ),
type = "b",
xlim = range(gait(,,1)),
ylim = range(gait(,,2)),
xlab = "Hip Angle",
ylab = "Knee Angle",
main = "'gait' data : Boy 1"
)
mtext(
"all other boys",
col = "thistle"
)
grid()
matlines(
gait(, -1, 1),
gait(, -1, 2),
type = "l",
lty = 1,
col = adjustcolor("thistle", 1/3)
)
Este demn de remarcat referințele pentru aceste date:
-
Olshen, RA, Biden, En, Wyatt, MP și Sutherland, D. (1989) Analiza mersului și bootstrap -ul. Analele statisticilor 17, 4, 1419–1440. doi: 10.1214/aos/1176347372
-
Ramsay, Jo, și Silverman, BW (2006) Analiza funcțională a datelor, ediția a II -a, New York: Springer.
-
Ramsay, J. (2023) FDA: Analiza funcțională a datelor. R Versiunea pachetului 6.1.4, https://cran.r-project.org/package=fda.
Sursele BLAS și LAPACK BLUDLED au fost actualizate la cele expediate ca parte a lui Lapack 3.12.1 din ianuarie 2025.
Acestea ajută la alimentarea multor operații liniare de algebră în R și probabil vor exista îmbunătățiri ale vitezei și alte eficiențe. Deci, merită instalat doar pentru asta.
Am încercat să citesc fișierele de știri R din aproximativ 2017 sau 2018. Cred că l -am auzit pe Roger Peng spunând că a citit fișierele de știri R pe podcast -ul nu atât de standard cu Hilary Parker. Mi s -a părut o idee bună, așa că am încercat să fac la fel.
De obicei, mă implică să citesc dosarul de știri și să caut lucruri care par relevante pentru mine și pentru munca mea. Nu înțeleg întotdeauna totul, de fapt, aș spune că nu înțeleg foarte multe. Dar din când în când apare ceva important pentru mine. De exemplu, știrile pentru R 4.0.0 despre matrici și tablouri:
Obiectele matriceale moștenesc acum și din clasa „Array”, deci de exemplu, clasa (diag (1)) este C („Matrix”, „Array”). Acest lucru invalidează codul presupunând în mod incorect că clasa (matrix_obj)) are o lungime.
Metodele S3 pentru „Array” de clasă sunt acum expediate pentru obiecte matriceale.
A rezultat o schimbare de rupere a Greta, pe care am putut să o identific și să o remediez.
Altă dată când mi se pare util să știu cum să caut fișierul de știri este să -mi amintesc când au fost introduse câteva noi funcții cheie. De exemplu, știind că țeava autohtonă |>
a fost introdus în 4.1.0, dar sublinierea _
Placeholder a fost introdus doar în 4.2.0 este cu adevărat util dacă dezvolt pachete pentru a ști de ce versiune de R depinde.
De asemenea, vizitez deseori pagina „Eliberări anterioare ale R pentru Windows” pentru a vedea când A fost lansată o versiune a lui R. Aceasta este pentru regula mea (oarecum) arbitrară care
Când instalați un nou versiune minoră de R (adică atunci când schimbați versiunea minoră, de exemplu, de la 4.1.0 la 4.2.0, nu 4.1.0 la 4.1.1), trebuie să instalați din nou toate pachetele R.
Sigur, este enervant. Dar o văd ca o oportunitate de a începe din nou. De obicei fac ceva de genul următoarelor
install.packages("pak") library(pak) pkg_install("tidyverse", dependencies = TRUE) pkg_install("devtools", dependencies = TRUE) pkg_install("naniar", dependencies = TRUE) pkg_install("blogdown", dependencies = TRUE) pkg_install("greta", dependencies = TRUE) pkg_install("brolgar", dependencies = TRUE) pkg_install("targets", dependencies = TRUE) pkg_install("ropensci/geotargets", dependencies = TRUE) pkg_install("milesmcbain/datapasta", dependencies = TRUE)
Și acest lucru îmi primește 90% din drum acolo.
Este demn de remarcat faptul că, dacă sunteți utilizator Windows, puteți utiliza installr
Pachet pentru a actualiza R și alte dependențe.
Și pe această notă merită menționată și rig
Utilitatea liniei de comandă. Acest lucru vă permite să instalați mai ușor diferite și să lansați versiuni ale lui R. Dacă ați văzut software -ul RSWITCH al lui Bob Rudis, aceasta este versiunea actualizată a acestui lucru (Bob a arhivat Rswitch).