Hur Namnge Värden i dina vektorer i R

August 19

Ofta de delar av vektorerna hänvisade till sina positioner - det vill säga, x [5] hänvisar till det femte elementet i vektorn x. En mycket kraftfull funktion i R ger dock namn till elementen i en vektor, som låter dig hänvisa till elementen efter namn.

Du kan använda dessa namngivna vektorer i R att associera textvärden (namn) med någon annan typ av värde. Sedan kan du hänvisa till dessa värden vid namn förutom position i listan. Detta format har ett brett användningsområde - till exempel namngivna vektorer gör det enkelt att skapa uppslagstabeller.

Hur R namnges vektorer fungerar

För att illustrera namngivna vektorer, ta en titt på de inbyggda datamängds öar, en namngiven vektor som innehåller ytan av världens 48 största landmassor (kontinenter och stora öar). Du kan undersöka dess struktur med str (), enligt följande:

> str (öar)
Namngivna num [01:48] 11506 5500 16988 2968 16 ...
- Attr (*, "namn") = chr [01:48] "Afrika" "Antarktis" "Asien" "Australia" ...

R rapporterar strukturen av öar som en namngiven vektor med 48 element. På första raden av resultaten av str (), ser du värdena för de första delarna av öar. På den andra raden, R rapporterar att den namngivna vektorn har ett attribut som innehåller namn och rapporter som de första elementen är "Africa", "Antarktis", "Asien", och "Australia".

Eftersom varje element i vektorn har ett värde såväl som ett namn, nu kan du delmängd vektorn med namn. Om du vill hämta storlekar av Asien, Afrika och Antarktis, använd följande:

> Öar [c ("Asien", "Africa", "Antarktis")]
Asien Afrika Antarktis
16988 11506 5500

Du använder namnen () funktion för att hämta namnen i en namngiven vektor:

> namn (öar) [1: 9]
[1] "Afrika" "Antarktis" "Asien"
[4] "Australia" "Axel Heiberg" "Baffin"
[7] "Bankerna" "Borneo" "Britain"

Denna funktion gör att du kan göra alla typer av intressanta saker. Tänk dig att du ville veta namnen på de sex största öarna. För att göra detta, skulle du hämta namnen på öarna efter sortering det i fallande ordning:

> namn (sorterings (öar, minskande = SANT) [1: 6])
[1] "Asien" "Afrika" "Nordamerika"
[4] "South America" ​​"Antarktis" "Europa

Skapa och tilldela namngivna vektorer i R

Du använder tilldelningsoperator (<-) för att tilldela namn till vektorer på ungefär samma sätt som du tilldelar värden till tecken vektorer.

Tänk dig att du vill skapa en namngiven vektor med antalet dagar i varje månad. Skapa först ett numeriskt vektor som innehåller antalet dagar i varje månad. Använd sedan den inbyggda dataset month.name för månadsnamnen, enligt följande:

> Month.days <- c (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> namn (month.days) <- month.name
> month.days
Januari Februari Mars April
31 28 31 30
Maj Juni Juli Augusti
31 30 31 31
September Oktober November December
30 31 30 31

Nu kan du använda denna vektor för att hitta namnen på månaderna med 31 dagar:

> Namn (month.days [month.days == 31])
[1] "Januari" "Mars" "maj"
[4] "juli" "August" "Oktober"
[7] "December"

Denna teknik fungerar eftersom du delmängd month.days att återvända endast de värden för vilka month.days lika med 31, och sedan hämta namnen på den resulterande vektorn.

Den dubbla likhetstecken (==) indikerar ett test för jämställdhet. Se till att inte använda den enda likhetstecken (=) för jämlikhet testning. Inte bara kommer en enda likhetstecken inte fungerar, men det kan ha konstiga biverkningar eftersom R tolkar en enda likhetstecken som ett uppdrag. Med andra ord är operatör = i många fall samma som <-.