Skapa Undergrupper av data i R

June 29

Snittet () funktionen i R skapar lådor av samma storlek (som standard) i din data och sedan klassificerar varje element i sin lämplig bin.

Om detta låter som en munsbit, oroa dig inte. Några exempel bör göra detta komma till liv.

Så här använder du klippa för att skapa ett fast antal undergrupper

För att illustrera användningen av snittet (), ta en titt på den inbyggda dataset state.x77, en array med flera kolumner och en rad för varje stat i USA:

> Head (state.x77)
Population inkomst Analfabetism Life Exp mord HS Grad Frost Område
Alabama 3615 3624 2,1 69,05 15,1 41,3 20 50708
Alaska 365 6315 1,5 69,31 11,3 66,7 152 566432
Arizona 2212 4530 1,8 70,55 7,8 58,1 15 113417
Arkansas 2110 3378 1,9 70,66 10,1 39,9 65 51945
Kalifornien 21198 5114 1,1 71,71 10,3 62,6 20 156.361
Colorado 2541 4884 0,7 72,06 6,8 63,9 166 103766

Du vill arbeta med kolumnen som heter Frost. För att extrahera den här kolumnen, prova följande:

> Frost <- state.x77 [, "Frost"]
> Head (frost, 5)
Alabama Alaska Arizona Arkansas Kalifornien
20 152 15 65 20

Du har nu ett nytt objekt, frost, en namngiven numeriskt vektor. Nu använder cut () för att skapa tre lådor i dina uppgifter:

> Cut (frost, 3, include.lowest = SANT)
[1] [-0.188,62.6] (125.188] [-0.188,62.6] (62.6,125]
[5] [-0.188,62.6] (125.188] (125.188] (62.6,125]
....
[45] (125.188] (62.6,125] [-0.188,62.6] (62.6,125]
[49] (125.188] (125.188]
Nivåer: [-0.188,62.6] (62.6,125] (125188]

Resultatet är en faktor med tre nivåer. Namnen på de nivåerna verkar lite komplicerat, men de berätta i matematisk set notation vad gränserna för dina lådor är. Till exempel innehåller den första bin de stater som har frost mellan -0,188 och 62.8 dagar.

I verkligheten, naturligtvis, kommer ingen av de stater har frost på negativa dagar - R vara matematiskt konservativ och lägger lite stoppning.

Notera argumentet include.lowest = SANT att klippa (). Standardvärdet för detta argument är include.lowest = FALSK, vilket ibland kan leda till R för att ignorera det lägsta värdet i dina data.

Hur man lägger till etiketter för att klippa

Nivå namnen är inte särskilt användarvänliga, så ange några bättre namn med etiketterna argumentet:

> Cut (frost, 3,, etiketter include.lowest = SANT = c ("Low", "Med", "High"))
[1] Låg Hög Låg Med Låg Hög Hög Med Låg Låg Låg
....
[45] Hög Med Låg Med Hög Hög
Nivåer: Låg Med Hög

Nu har du en faktor som klassificerar stater i låg, medium och hög, beroende på antalet dagar med frost de får.

Hur man använder tabellen för att räkna antalet observationer

En intressant bit av analysen är att räkna hur många stater är i varje konsol. Du kan göra detta med tabellen () funktionen, som helt enkelt räknar antalet observationer i varje nivå av din faktor.

> X <- cut (frost, 3, include.lowest = TRUE, etiketter = c ("Low", "Med", "High"))
> Bord (x)
x
Låg Med Hög
11 19 20