Hi Niklas,
I like A.K.'s method. Here's another way to do what I think is the same
thing you're asking for (this is how I did it before I knew ifelse()
existed!)
rep_data$clo <- 0
rep_data[ rep_data$know %in% c("very well", "fairly well") &
rep_data$getalong %in% c(4,5),]$clo <- 1
Best,
Steve
------------------------------
Message: 25
Date: Sat, 15 Sep 2012 23:36:49 +0300
From: Niklas Fischer <niklasfischer980 at gmail.com>
To: r-help at r-project.org
Subject: [R] create new variable with ifelse? (reproducible example)
Message-ID:
<CADWGO2zANM_UK8qf=JLZHRSqgtPC=NX+rU2kXx=1etw0uQvxRg at mail.gmail.com>
Content-Type: text/plain
Dear R users,
I have a reproducible data and try to create new variable "clo" is 1 if
know variable is equal to "very well" or "fairly well" and getalong is 4 or
5
otherwise it is 0.
rep_data<- read.table(header=TRUE, text="
id1 id2 know getalong
100000016_a1 100000016_a2 very well 4
100000035_a1 100000035_a2 fairly well NA
100000036_a1 100000036_a2 very well 3
100000039_a1 100000039_a2 very well 5
100000067_a1 100000067_a2 very well 5
100000076_a1 100000076_a2 fairly well 5
")
rep_data$clo<- ifelse((rep_data$know==c("fairly well","very well") &
rep_data$getalong==c(4,5)),1,0)
For sure, something must be wrong, I couldn't find it out.
rep_data
id1 id2 know getalong clo
100000016_a1 100000016_a2 very well 4 0
100000035_a1 100000035_a2 fairly well NA 0
100000036_a1 100000036_a2 very well 3 0
100000039_a1 100000039_a2 very well 5 0
100000067_a1 100000067_a2 very well 5 0
100000076_a1 100000076_a2 fairly well 5 0
Any help is appreciated..
Bests,
Niklas
[[alternative HTML version deleted]]