Skip to content
Prev 327448 / 398502 Next

How to split two levels several times?

Hello,

I think the following does what you want. (I don't know if it makes much 
sense but it works.)



lens <- rle(as.character(XXX$electrode))$lengths
m <- length(lens) %/% 2
idx <- rep(1:m, sapply(1:m, function(.m) sum(lens[(2*.m - 1):(2*.m)])))
if(length(lens) %% 2 != 0){
	idx <- c(idx, rep(m + 1, lens[length(lens)]))
	sp_idx <- split(idx, idx)
	n <- length(sp_idx[[m]])
	if(n %/% 2 < length(sp_idx[[m + 1]]))
		sp_idx[[m]][(n %/% 2 + 1):n] <- sp_idx[[m + 1]][1]
	else
		sp_idx[[m]][(n - length(sp_idx[[m + 1]]) + 1):n] <-  sp_idx[[m + 1]][1]
	idx <- unlist(sp_idx)
}

sp <- split(XXX, idx)
sp



Rui Barradas

Em 25-07-2013 11:40, dennis1991 at gmx.net escreveu: