如何用数字替换 R 数据框的二分列中的单词?
一个二分列可以用是/否、好/坏、对/错等词来表示。用数字替换这些词,比如1和0,我们可以使用ifelse函数。
例如,如果我们有一个名为df的数据框,其中包含一列Binary和Yes和No值,那么我们可以使用以下命令将Yes替换为1,将No替换为0-
df$Binary<-ifelse(df$Binary=="Yes",1,0)
示例1
以下代码段创建了一个示例数据框-
x<-sample(c("Yes","No"),20,replace=TRUE) df1<-data.frame(x) df1
创建以下数据框-
x 1 Yes 2 Yes 3 Yes 4 Yes 5 No 6 Yes 7 Yes 8 Yes 9 Yes 10 Yes 11 Yes 12 No 13 Yes 14 No 15 No 16 Yes 17 No 18 Yes 19 Yes 20 Yes
要将单词Yes替换为1,将No替换为0,请将以下代码添加到上面的代码段中-
x<-sample(c("Yes","No"),20,replace=TRUE) df1<-data.frame(x) df1$x<-ifelse(df1$x=="Yes",1,0) df1输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
x 1 1 2 1 3 1 4 1 5 0 6 1 7 1 8 1 9 1 10 1 11 1 12 0 13 1 14 0 15 0 16 1 17 0 18 1 19 1 20 1
示例2
以下代码段创建了一个示例数据框-
y<-sample(c("Good","Bad"),20,replace=TRUE) df2<-data.frame(y) df2
创建以下数据框-
y 1 Bad 2 Bad 3 Bad 4 Good 5 Good 6 Good 7 Good 8 Bad 9 Bad 10 Bad 11 Bad 12 Bad 13 Good 14 Bad 15 Good 16 Good 17 Good 18 Bad 19 Good 20 Good
要将单词Good替换为1,将Bad替换为0,请将以下代码添加到上面的代码段中-
y<-sample(c("Good","Bad"),20,replace=TRUE) df2<-data.frame(y) df2$y<-ifelse(df2$y=="Good",1,0) df2输出结果
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出-
y 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 0 9 0 10 0 11 0 12 0 13 1 14 0 15 1 16 1 17 1 18 0 19 1 20 1