Я новичок в R и пытаюсь создать скрипт для вычисления скользящего среднего для некоторых данных.
Вот так выглядят мои данные:
Метка времени Accelerometer X
Accelerometer Y
Accelerometer Z
1 121219,757080078 -5,66180946541818 8,85684119781125 1,65407075345669
2 121239,288330078 -7,38255951126451 9,4117333531527 1,4410517346543
он имеет около 6000 строк, и мне нужно вычислить среднее значение акселерометра x, акселерометра Y и акселерометра Z каждые пятьдесят строк. Таким образом, из данных строк 1–50 я должен получить среднее значение для 3 переменных, затем от строк 51 до 100 и т. Д. До строки 6000.
Я пытался (для первой переменной):
library(reshape2)
library(reshape)
x <- deadlift$`Accelerometer X`
win.size <- 50
slide <- 50
results <- data.frame(index=numeric(),win.mean=numeric())
i<-1
j<-1
while (i<length(x)) {
win.mean<-sum(x[i:(i+50)],na.rm = TRUE)/win.size
results[j,]<-c(i,win.mean)
i<-i+slide
j<-j+1
}
но я получаю это сообщение:
Ошибка в сумме (x [i: (i + 50)], na.rm = TRUE):
неверный тип (символ) аргумента
любая помощь?
Спасибо.