Hello,

Try


vec = c("1","2","3","-","-","-","4","5","6","1","2","3","-","-","-")
nms = c("A","B","C","D")
rep_vec <- rep(sapply(split(vec, cumsum(rep(c(1, 0, 0), 5))), paste, collapse=""), 4)
mat <- matrix(rep_vec, nrow=5, byrow=TRUE, dimnames=list(NULL,nms))
mat


Hope this helps,

Rui Barradas

Em 15-06-2012 21:11, Ben quant escreveu:
Hello,

What is the fastest way to do this? I has to be done quite a few times.
Basically I have sets of 3 numbers (as characters) and sets of 3 dashes and
I have to store them in named columns. The order of the sets and the column
name they fall under is important. The actual numbers and the pattern/order
of the sets should be considered random/unpredictable.

Sample data:
vec = c("1","2","3","-","-","-","4","5","6","1","2","3","-","-","-")
rep_vec = rep(vec,times=20)
nms = c("A","B","C","D")

I need to get this:
   A     B     C     D
"123" "---" "456" "123"
"---" "123" "---" "456"
"123" "---" "123" "---"
"456" "123" "---" "123"
"---" "456" "123" "---"

Note: a matrix of 4 columns and 5 rows of concatenated string sets.

Thanks!!

Ben

        [[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.


______________________________________________
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.

Reply via email to