如何在R数据框中用数字替换二分列中的单词?
二分列可以用“是/否”、“好/坏”、“对/错”等词表示。为了用数字(例如1和0)替换这些词,我们可以使用ifelse函数。
例如,如果我们有一个名为df的数据框,其中包含一列Binary,其值为“是”和“否”,那么我们可以使用以下命令将“是”替换为1,“否”替换为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
要将单词“是”替换为1,“否”替换为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
要将单词“好”替换为1,“坏”替换为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
广告