I am using just the first row of your data (i.e. ID1).
> ID1 <- c("A", "A", "T", "G", "C", "T", "G", "C", "G", "T", "C", "G", "T", "A")
> do.call(c,lapply(tapply(ID1, gl(7,2), c), paste, collapse="")) 1 2 3 4 5 6 7 "AA" "TG" "CT" "GC" "GT" "CG" "TA" > Is this what you are looking for? I hope this helps. Chel Hee Lee On 01/28/2015 05:55 PM, Kate Ignatius wrote:
I have genetic data as follows (simple example, actual data is much larger): comb = ID1 A A T G C T G C G T C G T A ID2 G C T G C C T G C T G T T T And I wish to get an output like this: ID1 AA TG CT GC GT CG TA ID2 GC TG CC TG CT GT TT That is, paste every two columns together. I have this code, but I get the error: Error in seq.default(2, nchar(x), 2) : 'to' must be of length 1 conc <- function(x) { s <- seq(2, nchar(x), 2) paste0(x[s], x[s+1]) } combn <- as.data.frame(lapply(comb, conc), stringsAsFactors=FALSE) Thanks in advance! ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.