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