Hoe u een categorische variabele maakt, gaat verder in r


U kunt de functie cut() in R gebruiken om een categorische variabele te maken op basis van een continue variabele.

Deze functie gebruikt de volgende basissyntaxis:

 df$cat_variable <- cut(df$continuous_variable,
                       breaks=c(5, 10, 15, 20, 25),
                       labels=c(' A ', ' B ', ' C ', ' D '))

Houd er rekening mee dat breaks de waarden specificeren waardoor de continue variabele moet worden gedeeld, en dat labels het label specificeren dat aan de waarden van de nieuwe categorische variabele moet worden gegeven.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: het creëren van een categorische variabele vanuit een continuüm in R

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(78, 82, 86, 94, 99, 104, 109, 110))

#view data frame
df

  team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.

Momenteel zijn punten een continue variabele.

We kunnen de functie cut() gebruiken om het in een categorische variabele te knippen:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points,
              breaks=c(70, 80, 90, 100, 110),
              labels=c('Bad', 'OK', 'Good', 'Great'))

#view updated data frame
df

  team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great

We hebben een nieuwe categorische variabele gemaakt met de naam cat , die elk team in het dataframe rangschikt als Slecht, OK, Goed of Uitstekend op basis van hun punten .

We kunnen de functie class() gebruiken om de klasse van deze nieuwe variabele te controleren:

 #check class of 'cat' column
class(df$cat)

[1] “factor”

We zien dat de variabele kat een factor is.

We kunnen ook de functie table() gebruiken om het aantal keren dat elke categorie in de cat- variabele voorkomt te tellen:

 #count occurrences of each category in 'cat' variable
table(df$cat)
  Bad OK Good Great 
    1 2 2 3

Houd er rekening mee dat als u geen labels- argument voor de functie cut() opgeeft, R eenvoudigweg het bereik van intervalwaarden als labels zal gebruiken:

 #add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))

#view updated data frame
df

  team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]

In sommige gevallen geeft u er misschien de voorkeur aan om aangepaste labels te gebruiken.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:

Hoe categorische variabelen naar numeriek te converteren in R
Hoe categorische variabelen te creëren in R
Hoe categorische gegevens in R te plotten

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert