R (programovací jazyk): Proč se R nazývá R?


Nejlepší odpověď

Věřím, že tento příběh není anekdotický. Jak každý řekl, R je založen na S a hádám, že S znamená statistický jazyk a S byl jazyk otevřeného zdroje. Vidět rostoucí význam společnosti S IBM ji chtěla získat, ale část hlavního týmu společnosti S ji chtěla ponechat jako otevřený zdroj a zbývající část souhlasila s návrhem IBM. Později se část získaná IBM stala S-plus a komunita open source prosperovala a udělala mnoho doplňků k S a které se nakonec přejmenovaly na R.

Odpověď

Nikdy není povinné používat $ při odkazování v R, ale v mnoha případech je odkazování snadné. $ V R se obvykle používá při odkazování na pojmenovaný objekt v rámci většího datového objektu. To lze použít na objekty, jako jsou seznamy a datové rámce.

Příklad

Nejprve vytvořme seznam obsahující náhodné informace:

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

Toto je struktura našeho náhodného seznamu:

> random

$numbers

[1] 1 2 3

$places

$places$countries

[1] "Canada" "South Africa"

$places$cities

[1] "Vancouver" "Cape Town"

Na různé položky v seznamu můžeme odkazovat přesně stejným způsobem, jak je uvedeno ve struktuře výše. Například pokud chceme celý seznam „míst“, který obsahuje informace o zemi a městě, můžeme na něj odkazovat takto:

> random$places

$countries

[1] "Canada" "South Africa"

$cities

[1] "Vancouver" "Cape Town"

Pokud chceme pouze názvy zemí, můžeme pomocí $ přejít do seznamu dále:

random$places$countries

[1] "Canada" "South Africa"

Mějte na paměti, nemůže použít $ při odkazování na atomové vektory (vektory, které obsahují jednotlivé hodnoty, jako jsou čísla nebo řetězce znaků). Například výše uvedené názvy zemí jsou uloženy v atomovém vektoru. K načtení jedné země musíme použít název nebo číslo rejstříku:

> random$places$countries[2]

[1] "South Africa"

I kdyby země měla indexový název, nebudeme moci používat $.

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

Zkusme načíst „Jihoafrickou republiku“ pomocí $:

> countries$country2

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

Zobrazuje se chyba, protože země je atomový vektor. V tomto případě musíme použít název nebo číslo indexu:

> 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"

Doufám, že to pomůže!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *