[R] Paste every two columns together
Chel Hee Lee
chl948 at mail.usask.ca
Thu Jan 29 04:41:39 CET 2015
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 at 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.
>
More information about the R-help
mailing list