Try also:
df1 <- data.frame(a = LETTERS[1:2], b = LETTERS[3:4], c = 1:2)
df1$a <- as.character(df1$a) #if is factor
df1$b <- as.character(df1$b) #if is factor
df1[df1$c == 2, ] <- c(subset(df1, c == 2, select = c("b", "a")), 2)
On Thu, Apr 17, 2008 at 11:52 AM, Michael Kubovy <[EMAIL PROTECTED]>
temp<-df1$a
df$a<-ifelse(df1$c == 2, df$b, df$a)
df$b<-ifelse(df1$c == 2, temp, df$b)
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Michael Kubovy
Sent: Thursday, April 17, 2008 10:53 AM
To: [EMAIL PROTECTED]
Subject: [R] Conditionally swap i
df1 <- data.frame(a = LETTERS[1:2], b = LETTERS[3:4], c = 1:2)
I am looking for an idiom that swaps the elements of df$a and df$b
when (e.g.) df$c == 2, resulting in
df2 <- data.frame(a = LETTERS[c(1, 4)], b = LETTERS[c(3, 2)], c = 1:2)
_
Professor Michael Kubovy
Uni
3 matches
Mail list logo