将分类变量重新编码为二进制 (0/1)

use*_*663 2 r recode

有人可以帮助我关于ifelse.

我有一个data.frame(dat) 和一个名为 Q1 ( dat$Q1)的分类变量/因子。dat$Q1被编码为 1,2,3 或 4。我需要data$new1根据以下规则创建一个新列:

如果dat$Q1 == 3然后dat$new1应该是1。否则,dat$new1应该是0

请问这样做最有效的方法是什么?

Tyl*_*ker 7

使用ifelse如下:

dat$new1 <- ifelse(dat$Q1==3, 1, 0)
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 6

只是:

 dat$new1 <-  0+(dat$Q1==3)  # or use as.numeric(.)
Run Code Online (Sandbox Code Playgroud)