Hello,
Bert's modular arithmetic way simplifies my code a lot.
breakVec <- function(x, n = 5){
if(n < 1) stop(paste("Illegal value n:", n))
f <- if(n == 1) "" else (seq_along(x) - 1) %/% n
split(x, f)
}
Hope this helps,
Rui Barradas
Às 20:08 de 18/08/19, Bert Gunter escreveu:
Perhaps
Perhaps simpler:
Hint: (seq_along(LETTERS) -1) %/% 5
## modular arithmetic can be useful for this sort of thing
Bert Gunter
"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
O
Hi, Christofer,
try something along
len <- 5
split(Vec, rep(seq(ceiling(length(Vec)/len)), each = len))
Hth -- Gerrit
-
Dr. Gerrit Eichner Mathematical Institute, Room 212
gerrit.eich...@math.uni-giessen.d
Hello,
The following function will do it.
It uses a standard cumsum trick to create a break vector f.
And predicts special cases (n = 0 or n = 1).
breakVec <- function(x, n = 5){
if(n < 1) stop(paste("Illegal value n:", n))
if(n == 1){
f = ""
}else{
f <- c(1, rep(0, n - 1))
f <
Hi,
Let say I have a vector as below
Vec = LETTERS
Now I want to break this vector into groups of the same length of 5.
So,
1st group consists - "A" "B" "C" "D" "E"
2nd group - "F" "G" "H" "I" "J"
and so on..
last group will consist only the leftover elements
I have a very large initial vecto
5 matches
Mail list logo