2012-06-07 6 views
0

Я пытался создать команду в R, которая позволяет мне создать новый вектор, где каждая строка представляет собой сумму из 25 строк из предыдущего вектора.Совокупная сумма для n строк

Я попытался сделать функцию для этого, это позволяет мне создать результат для одной точки данных.

Я положу туда, куда я добрался; Я понимаю, что это, вероятно, довольно простой вопрос, но это тот, с которым я боролся ... любая помощь была бы высоко оценена;

example<-c(1;200) 


fun.1<-function(x) 
{sum(x[1:25])} 

checklist<-sapply(check,FUN=fun.1) 

Это тогда снабжает меня вектором длины 200, где все значения равны NA.

Может ли кто-нибудь помочь вообще?

+0

что такое 'check'переменный здесь? Является ли 25 строк постоянными или вам нужно правильно определить свой вопрос. Если это те же 25 строк, вам не нужен «sapply», просто «rep» сделает это. – Subs

+0

Почти идентичен http://stackoverflow.com/q/7822448/602276. В верхней части страницы есть кнопка поиска. Введите '[r] кумулятивную сумму', чтобы получить список очень похожих вопросов. – Andrie

+1

Решение, использующее встраивание, будет быстрее, чем приведенное ниже. Это должно быть закрыто. –

ответ

2

Ваш пример немного шумный (например, c(1;200) не имеет никакого значения, вероятно, вы хотите 1:200 там, или, если вы хотели бы иметь список списков, то что-то вроде rep, нет check переменных, она должна иметь был example, и т.п.).

Вот код, что я думаю, что вам нужно, вероятно, (насколько я смог понять):

x <- rep(list(1:200), 5) 
f <- function(y) {y[1:20]} 
sapply(x, f) 

В следующий раз, пожалуйста, быть более конкретным, попробуйте код вы размещаете в качестве примера перед отправкой вопрос.

Смежные вопросы