Re: [R] Conditionally swap items in a data frame

2008-04-17 Thread Henrique Dallazuanna
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]>

Re: [R] Conditionally swap items in a data frame

2008-04-17 Thread Mark Leeds
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

[R] Conditionally swap items in a data frame

2008-04-17 Thread Michael Kubovy
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