R (programmeringssprog): Hvorfor hedder R R?


Bedste svar

Jeg mener, at denne historie ikke er anekdotisk. Som alle sagde, R er baseret på S, og jeg gætter på, at S står for statistisk sprog, og S var et open source-sprog. At se den voksende betydning af S IBM ønskede at erhverve den, men den del af kerneteamet i S ønskede at holde den som open source, og den resterende del blev enige om for IBMs forslag. Senere erhvervede IBM en del og blev til S-plus, og open source-samfund trivedes og lavede mange tilføjelser til S, og som til sidst blev omdøbt til R.

Svar

Det er aldrig obligatorisk at bruge $ når der henvises til R, men det gør det nemt at henvise i mange tilfælde. $ I R bruges normalt, når der henvises til et navngivet objekt i et større dataobjekt. Dette kan anvendes på objekter såsom lister og datarammer.

Eksempel

Lad os først oprette en liste, der indeholder nogle tilfældige oplysninger:

random <- list("numbers" = c(1, 2, 3), "places" = list("countries" = c("Canada", "South Africa"), "cities" = c("Vancouver", "Cape Town")))

Dette er strukturen på vores tilfældige liste:

> random

$numbers

[1] 1 2 3

$places

$places$countries

[1] "Canada" "South Africa"

$places$cities

[1] "Vancouver" "Cape Town"

Vi kan henvise til de forskellige emner på listen på nøjagtig samme måde som vist i strukturen ovenfor. Hvis vi f.eks. Vil have hele listen "steder", der indeholder land- og byoplysninger, kan vi henvise til den således:

> random$places

$countries

[1] "Canada" "South Africa"

$cities

[1] "Vancouver" "Cape Town"

Hvis vi kun ønsker landnavne, kan vi bruge $ til at bore længere nede på listen:

random$places$countries

[1] "Canada" "South Africa"

Husk, vi kan ikke bruge $, når der henvises til atomvektorer (vektorer, der indeholder enkeltværdier, såsom tal eller tegnstrenge). For eksempel er ovennævnte landsnavne lagret i en atomvektor. Vi skal bruge indeksnavnet eller nummeret for at hente et enkelt land:

> random$places$countries[2]

[1] "South Africa"

Selvom landet havde et indeksnavn, kan vi ikke bruge $.

> countries <- c("country1" = "Canada", "country2" = "South Africa")

Lad os prøve at hente "Sydafrika" med $:

> countries$country2

Error in countries$country2 : $ operator is invalid for atomic vectors

Vi får en fejl, fordi lande er en atomvektor. I dette tilfælde skal vi bruge indeksnavnet eller nummeret:

> countries["country2"] #using the name of the item

country2

"South Africa"

> countries[2] #using the index of the country within the vector

country2

"South Africa"

Håber det hjælper!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *