R (programmeringsspråk): Hvorfor kalles R R?


Beste svaret

Jeg tror denne historien ikke er anekdotisk. Som alle sa, R er basert på S, og jeg gjetter at S står for statistisk språk og S var et åpent kildespråk. Å se den økende betydningen av S IBM ønsket å skaffe seg den, men den delen av kjerneteamet til S ønsket å beholde den som åpen kildekode, og den resterende delen ble enige om for IBMs forslag. Senere skaffet IBM seg en del og ble til S-pluss, og open source-samfunnet trivdes og gjorde mange tillegg til S og som til slutt ble omdøpt til R. $ når det refereres til R, men det gjør det enkelt å referere i mange tilfeller. $ I R brukes vanligvis når det refereres til et navngitt objekt i et større dataobjekt. Dette kan brukes på objekter som lister og datarammer.

Eksempel

La oss først lage en liste som inneholder litt tilfeldig informasjon:

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

Dette er strukturen i den tilfeldige listen vår:

> random

$numbers

[1] 1 2 3

$places

$places$countries

[1] "Canada" "South Africa"

$places$cities

[1] "Vancouver" "Cape Town"

Vi kan referere til de forskjellige elementene i listen på nøyaktig samme måte som vist i strukturen ovenfor. Hvis vi for eksempel vil ha hele "stedslisten", som inneholder land- og byinformasjon, kan vi referere til den slik:

> random$places

$countries

[1] "Canada" "South Africa"

$cities

[1] "Vancouver" "Cape Town"

Hvis vi bare vil ha landnavn, kan vi bruke $ til å bore lenger ned i listen:

random$places$countries

[1] "Canada" "South Africa"

Husk at vi kan ikke bruke $ når det refereres til atomvektorer (vektorer som inneholder enkeltverdier, for eksempel tall eller tegnstrenger). Landnavnene ovenfor er for eksempel lagret i en atomvektor. Vi må bruke indeksnavnet eller nummeret for å hente et enkelt land:

> random$places$countries[2]

[1] "South Africa"

Selv om landet hadde et indeksnavn, vil vi ikke kunne bruke $.

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

La oss prøve å hente "Sør-Afrika" med $:

> countries$country2

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

Vi får en feil, fordi land er en atomvektor. I dette tilfellet må vi bruke 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åper dette hjelper!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *