sum(x[i:(i + 50)], na.rm = TRUE) 中的错误:参数的"类型"(字符)无效



我是R中的新手,我正在尝试执行脚本来计算某些数据的滑动平均值。

这就是我的数据的样子:

TIMESTAMP Accelerometer X Accelerometer Y Accelerometer Z
1 121219.757080078 -5.66180946541818 8.85684119781125 1.654070753456692 121239.288330078 -7.3825951126451 9.41173333531527 1.444410517346543

它有大约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
}

,但我收到了此消息:

sum中的错误(x [i:(i 50(],na.rm = true(: 参数的无效"类型"(字符(

有帮助吗?

谢谢。

解决问题。

问题是对象X是作为字符创建的。我用as.numeric。

将其转换为数字

它有效。

问:

相关内容

最新更新