2

Could someone help me regarding the use of ifelse.

I have a data.frame (dat) with a categorical variable/factor called Q1 (dat$Q1). dat$Q1 was coded as 1,2,3 or 4. I need to create a new column data$new1 based on the following rule:

if dat$Q1 == 3 then dat$new1 should be 1. otherwise, dat$new1 should be 0.

What is the most efficient way of doing this please?

Henrik
  • 65,555
  • 14
  • 143
  • 159
user2284663
  • 21
  • 1
  • 2

2 Answers2

8

Use ifelse as in:

dat$new1 <- ifelse(dat$Q1==3, 1, 0)
Tyler Rinker
  • 108,132
  • 65
  • 322
  • 519
6

Just:

 dat$new1 <-  0+(dat$Q1==3)  # or use as.numeric(.)
IRTFM
  • 258,963
  • 21
  • 364
  • 487