在 R 資料框中將分類列的值設定為數值。


要將 R 資料框中分類列的值設定為數值,我們可以使用組合函式 c。

例如,如果我們有一個名為 df 的資料框,其中包含一個名為 C 的分類列,該列有兩個類別:低和高,如果我們想用 1 和 10 來表示這些類別,則可以使用以下命令:

df$C<-c(Low=1,High=10)[df$C]

示例 1

以下程式碼片段建立了一個示例資料框:

Group<-sample(c("First","Second","Third"),20,replace=TRUE)
df1<-data.frame(Group)
df1

建立了以下資料框

   Group
1  Third
2  Second
3  First
4  Second
5  Second
6  First
7  Third
8  Third
9  First
10 Second
11 First
12 First
13 First
14 Second
15 First
16 First
17 First
18 Second
19 Second
20 Third

要將上面建立的資料框中 Group 列的值替換為數字,請將以下程式碼新增到上述程式碼片段中:

Group<-sample(c("First","Second","Third"),20,replace=TRUE)
df1<-data.frame(Group)
df1$Group<-c(First=1,Second=2,Third=3)[df1$Group]
df1

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

  Group
1  3
2  2
3  1
4  2
5  2
6  1
7  3
8  3
9  1
10 2
11 1
12 1
13 1
14 2
15 1
16 1
17 1
18 2
19 2
20 3

示例 2

以下程式碼片段建立了一個示例資料框:

Level<-sample(c("Low","Medium","High"),20,replace=TRUE)
df2<-data.frame(Level)
df2

建立了以下資料框

   Level
1  Medium
2  Low
3  Low
4  High
5  Medium
6  Medium
7  Medium
8  Medium
9  Low
10 Low
11 Low
12 Low
13 Low
14 High
15 Medium
16 Medium
17 Low
18 Low
19 Medium
20 Medium

要將上面建立的資料框中 Level 列的值替換為數字,請將以下程式碼新增到上述程式碼片段中:

Level<-sample(c("Low","Medium","High"),20,replace=TRUE)
df2<-data.frame(Level)
df2$Level<-c(Low=5,Medium=15,High=20)[df2$Level]
df2

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

  Level
1  15
2  5
3  5
4 20
5 15
6 15
7 15
8 15
9  5
10 5
11 5
12 5
13 5
14 20
15 15
16 15
17 5
18 5
19 15
20 15

更新於: 2021年11月3日

3K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告