2

有人可以帮助我使用ifelse.

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

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

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

4

2 回答 2

7

使用ifelse如下:

dat$new1 <- ifelse(dat$Q1==3, 1, 0)
于 2013-04-16T01:58:41.987 回答
6

只是:

 dat$new1 <-  0+(dat$Q1==3)  # or use as.numeric(.)
于 2013-04-16T02:18:32.443 回答