在 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
广告