- R 教程
- R - 首頁
- R - 概述
- R - 環境設定
- R - 基本語法
- R - 資料型別
- R - 變數
- R - 運算子
- R - 決策
- R - 迴圈
- R - 函式
- R - 字串
- R - 向量
- R - 列表
- R - 矩陣
- R - 陣列
- R - 因子
- R - 資料框
- R - 包
- R - 資料重塑
R - 因子
因子是用於對資料進行分類並將其儲存為水平的資料物件。它們可以儲存字串和整數。它們在具有有限數量唯一值的列中非常有用,例如“男性”、“女性”和 True、False 等。它們在統計建模的資料分析中很有用。
因子是使用factor()函式建立的,它以向量作為輸入。
示例
# Create a vector as input.
data <- c("East","West","East","North","North","East","West","West","West","East","North")
print(data)
print(is.factor(data))
# Apply the factor function.
factor_data <- factor(data)
print(factor_data)
print(is.factor(factor_data))
當我們執行上述程式碼時,它會產生以下結果:
[1] "East" "West" "East" "North" "North" "East" "West" "West" "West" "East" "North" [1] FALSE [1] East West East North North East West West West East North Levels: East North West [1] TRUE
資料框中的因子
在建立任何包含文字資料列的資料框時,R 會將文字列視為分類資料並在其上建立因子。
# Create the vectors for data frame.
height <- c(132,151,162,139,166,147,122)
weight <- c(48,49,66,53,67,52,40)
gender <- c("male","male","female","female","male","female","male")
# Create the data frame.
input_data <- data.frame(height,weight,gender)
print(input_data)
# Test if the gender column is a factor.
print(is.factor(input_data$gender))
# Print the gender column so see the levels.
print(input_data$gender)
當我們執行上述程式碼時,它會產生以下結果:
height weight gender 1 132 48 male 2 151 49 male 3 162 66 female 4 139 53 female 5 166 67 male 6 147 52 female 7 122 40 male [1] TRUE [1] male male female female male female male Levels: female male
更改級別順序
可以透過再次應用 factor 函式並使用新的級別順序來更改因子中級別的順序。
data <- c("East","West","East","North","North","East","West",
"West","West","East","North")
# Create the factors
factor_data <- factor(data)
print(factor_data)
# Apply the factor function with required order of the level.
new_order_data <- factor(factor_data,levels = c("East","West","North"))
print(new_order_data)
當我們執行上述程式碼時,它會產生以下結果:
[1] East West East North North East West West West East North Levels: East North West [1] East West East North North East West West West East North Levels: East West North
生成因子級別
我們可以使用gl()函式生成因子級別。它接受兩個整數作為輸入,分別表示有多少個級別以及每個級別出現多少次。
語法
gl(n, k, labels)
以下是所用引數的描述:
n 是一個整數,表示級別的數量。
k 是一個整數,表示重複次數。
labels 是結果因子級別的標籤向量。
示例
v <- gl(3, 4, labels = c("Tampa", "Seattle","Boston"))
print(v)
當我們執行上述程式碼時,它會產生以下結果:
Tampa Tampa Tampa Tampa Seattle Seattle Seattle Seattle Boston [10] Boston Boston Boston Levels: Tampa Seattle Boston
廣告