2016-06-23 5 views
1

Я новичок в R, и я пытаюсь более эффективно программировать. У меня есть разные векторы, и я разделить каждую из них на подмножества:организовать подмножества после расщепления вектора в R

vector_a <- 1:10000 
nb_of_subsets <- 100 
generate_subsets <- split(vector_a, ceiling(seq_along(vector_a)/nb_of_subsets)) 


vector_b <- 1:9000 
nb_of_subsets <- 100 
generate_subsets <- split(vector_b, ceiling(seq_along(vector_b)/nb_of_subsets)) 

Расщепление работает хорошо, но я также хотел бы г-нормализуют каждое подмножество. Так оно и должно быть что-то вроде этого для каждого подмножества:

norm_Sub1<-(generate_subsets$`1`-mean(generate_subsets$`1`))/sd(generate_subsets$`1`) 

Любые предложения, как эффективно обрабатывать (и переименовывать) подмножеств? Я не хочу изгибать тонны кода ...

Большое спасибо!

Мел

+0

почему вы назвали тот же 'generate_subsets' для обоих – akrun

+0

проверить' lapply() '/' применить() 'концепции. В вашем случае 'by()' также будет вариантом. – Jimbou

+0

элегантный способ разбивать такой вектор на равные части. – Rockbar

ответ

2

Поскольку выходной сигнал является list, мы можем петли над list с lapply, а затем применить функцию нормализации.

normList <- lapply(generate_subsets, function(x) (x - mean(x))/sd(x)) 
Смежные вопросы