Een nieuw niveau toevoegen om r in rekening te brengen (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om een nieuw niveau toe te voegen aan een factorvariabele in R:

 levels(df$my_factor) <- c(levels(df$my_factor), ' new_level ')

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

Voorbeeld: Voeg een nieuw niveau toe aan de factor in R

Stel dat we het volgende gegevensframe in R hebben dat het aantal verkopen in verschillende regio’s voor een winkel weergeeft:

 #create data frame
df <- data. frame (region=factor(c('A', 'B', NA, 'D', NA, 'F')),
                 sales=c(12, 18, 21, 14, 34, 40))

#view data frame
df

  regional sales
1 to 12
2 B 18
3 <NA> 21
4 D 14
5 <NA> 34
6 F 40

Merk op dat de regiovariabele een factor is.

Om de niveaus van deze factor te visualiseren, kunnen we de functie levels() gebruiken:

 #view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F”

We kunnen de volgende syntaxis gebruiken om een nieuw factorniveau toe te voegen met de naam ‚geen regio‘:

 #add factor level called 'no region'
levels(df$region) <- c(levels(df$region), ' no region ')

#convert each NA to 'no region'
df$region[is. na (df$region)] <- ' no region '

#view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F” “no region”

Het nieuwe niveau genaamd „geen regio“ is toegevoegd als factorniveau.

Als we dat willen, kunnen we de functie table() gebruiken om het voorkomen van elk factorniveau te tellen:

 #view occurrences of each factor level
table(df$region)

ABDF no region 
1 1 1 1 2 

Uit het resultaat kunnen we zien dat het nieuwe factorniveau genaamd „geen regio“ twee keer voorkomt in de regiokolom van het dataframe.

Aanvullende bronnen

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

Hoe een factor naar numeriek te converteren in R
Hoe factor naar karakter te converteren in R
Hoe factorniveaus in R te herschikken

Einen Kommentar hinzufügen

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