将分类列中的值设置为 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