English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R Factors

Faktoren werden verwendet, um Daten verschiedener Kategorien zu speichern, z.B. Geschlecht hat die Kategorien Mann und Frau, Alter kann in Minderjährige und Erwachsene unterteilt werden.

R-Sprache erstellt Faktoren mit der Funktion factor(), Vektor als Eingangsparameter.

factor() Funktionssyntax:

factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

Parameter Description:

  • x: Vektor.

  • levels: Festgelegte Stufenwerte, werden nicht angegeben, werden die verschiedenen Werte von x bestimmt.

  • labels: Bezeichner der Stufen, wird nicht angegeben, werden die Zeichenkette der entsprechenden Stufen verwendet.

  • exclude: Auszuschließende Zeichen.

  • ordered: Logischer Wert, um anzuzeigen, ob die Stufen sortiert sind.

  • nmax: Obergrenze der Anzahl der Stufen.

Nachfolgender Beispiel konvertiert einen Zeichenvector in einen Faktor:

x <- c("Mann", "Frau", "Mann", "Mann", "Frau")
sex <- factor(x)
print(sex)
print(is.factor(sex))

The output of the above code is:

[1] Mann Frau Mann Mann Frau
Levels: Male Female
[1] TRUE

Nachfolgender Beispiel establishes Faktorstufen als c('Mann','Frau'):

x <- c("Mann", "Frau", "Mann", "Mann", "Frau", levels=c('Mann','Frau'))
sex <- factor(x)
print(sex)
print(is.factor(sex))

The output of the above code is:

Ebenen1 Ebenen2 
Mann           Frau           Mann           Mann           Frau           Mann           Frau 
Levels: Male Female
[1] TRUE

Factor Level Labels

Next, we use the labels parameter to add labels to each factor level. The character order of the labels parameter must be consistent with the character order of the levels parameter, for example:

sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE)
print(sex)

The output of the above code is:

[1] female male female female male  
Levels: female < male

Generate Factor Levels

We can use the gl() function to generate factor levels, the syntax format is as follows:

gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE

Parameter Description:

  • n: Set the number of levels

  • k: Set the number of repetitions for each level

  • length: Set the length

  • labels: Set the value of level

  • ordered: Set whether the level is ordered, a boolean value.

v <- gl(3, 4, labels = c("Google", "w3codebox,"Taobao"
print(v)

The output of the above code is:

 [1] Google Google Google Google w3codebox w3codebox w3codebox w3codebox Taobao Taobao
[11] Taobao Taobao
Levels: Google w3codebox Taobao