在 R 資料框中提取因子列的特定水平。
要從 R 資料框中的因子列中提取特定水平,我們可以使用 levels 函式以及因子的編號。
例如,如果我們有一個名為 df 的資料框,其中包含一個因子列,例如 F,那麼我們可以使用以下命令找到 F 中的第三個水平:
levels(df$F)[2]
示例 1
以下程式碼片段建立了一個示例資料框:
Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE)) df1<-data.frame(Grp) df1
建立了以下資料框
Grp 1 D 2 C 3 C 4 D 5 B 6 C 7 D 8 A 9 B 10 C 11 B 12 C 13 B 14 B 15 C 16 A 17 C 18 B 19 B 20 D
要在上面建立的資料框中找到 df1 的 Grp 列中的第二個水平,請將以下程式碼新增到上述程式碼片段中:
Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE)) df1<-data.frame(Grp) levels(df1$Grp)[2]
如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "B"
要在上面建立的資料框中找到 df1 的 Grp 列中的第四個水平,請將以下程式碼新增到上述程式碼片段中:
Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE)) df1<-data.frame(Grp) levels(df1$Grp)[4]
如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "D"
示例 2
以下程式碼片段建立了一個示例資料框:
Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
df2建立了以下資料框
Class 1 Third 2 Second 3 First 4 Third 5 Third 6 Third 7 First 8 Third 9 Third 10 Second 11 Third 12 First 13 Second 14 First 15 First 16 Third 17 First 18 First 19 Third 20 Second
要在上面建立的資料框中找到 df2 的 Class 列中的第二個水平,請將以下程式碼新增到上述程式碼片段中:
Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[2]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "Second"
要在上面建立的資料框中找到 df2 的 Class 列中的第一個水平,請將以下程式碼新增到上述程式碼片段中:
Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[1]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "First"
要在上面建立的資料框中找到 df2 的 Class 列中的第三個水平,請將以下程式碼新增到上述程式碼片段中:
Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[3]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "Third"
示例 3
以下程式碼片段建立了一個示例資料框:
Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
df3建立了以下資料框
Category 1 Low 2 Medium 3 Medium 4 Medium 5 Low 6 High 7 Low 8 Medium 9 Low 10 High 11 High 12 Medium 13 High 14 Medium 15 Medium 16 High 17 Low 18 High 19 High 20 Low
水平將按字母順序排序,因此水平將基於第一個字母提取。
要在上面建立的資料框中找到 df3 的 Category 列中的第一個水平,請將以下程式碼新增到上述程式碼片段中:
Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[1]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "High"
要在上面建立的資料框中找到 df3 的 Category 列中的第二個水平,請將以下程式碼新增到上述程式碼片段中:
Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[2]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "Low"
要在上面建立的資料框中找到 df3 的 Category 列中的第三個水平,請將以下程式碼新增到上述程式碼片段中:
Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[3]如果您將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
[1] "Medium"
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP