Dear R-helpers: I am trying to write a script that iterates through a dataframe that looks like this:
Example dataset called "sample": names <- c("S1", "S2", "S3", "S4") X <- c("BB", "AB", "AB", "AA") Y <- c("BB", "BB", "AB", "AA") Z <- c("BB", "BB", "AB", NA) AorB <- c("A", "A", "A", "B") sample <- data.frame(names, X, Y, Z, AorB) for a given row, if AorB == A, then AA == 2, AB = 1, BA = 1, BB = 0 if AorB == B, then AA == 0, AB = 1, BA = 1, BB = 2 I've been trying to write this using apply and ifelse statements in hopes that my code runs quickly, but I'm afraid I've make a big mess. See below: apply(sample, 1, function(i) { ifelse(sample$AorB[i] == "A", (ifelse(sample[i,] == "AA", sample[i,] <- 2 , ifelse(sample[i,] == "AB" || sample[i,] == "BA" , sample[i,] <- 1, ifelse(sample[i,] == "BB", sample[i,] <- 0, sample[i,] <- NA )) ) ) , ifelse(sample$AorB[i,] == "B"), (ifelse(sample[i,] == "AA", sample[i,] <- 0 , ifelse(sample[i,] == "AB" || sample[i,] == "BA" , sample[i,] <- 1, ifelse(sample[i,] == "BB", sample[i,] <- 2, sample[i,] <- NA))))) }) Any Advice? [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.