Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何将变量用于向量索引?_R_Variables_Indexing - Fatal编程技术网

R:如何将变量用于向量索引?

R:如何将变量用于向量索引?,r,variables,indexing,R,Variables,Indexing,我是R的新用户,试图用正弦函数生成一个k-移动平均图,其中包含随机数(范围[-0.5,+0.5])噪声。 所以我要做的是计算带噪正弦向量中连续(2*k+1)元素的平均值,但是,下面有“帮助”的代码,它没有像我预期的那样工作…:( 代码似乎是计算第1到(i-k)个元素的平均值。 怎么了?救命啊 set.seed(1) x = seq(0,2*pi,pi/50) sin_graph <- sin(x) noise <- runif(101, -0.5, 0.5) sin_noise &

我是R的新用户,试图用正弦函数生成一个k-移动平均图,其中包含随机数(范围[-0.5,+0.5])噪声。 所以我要做的是计算带噪正弦向量中连续(2*k+1)元素的平均值,但是,下面有“帮助”的代码,它没有像我预期的那样工作…:( 代码似乎是计算第1到(i-k)个元素的平均值。 怎么了?救命啊

set.seed(1)

x = seq(0,2*pi,pi/50)
sin_graph <- sin(x)
noise <- runif(101, -0.5, 0.5)
sin_noise <- sin_graph + noise

plot(x,sin_noise, ylim=c(-2,2))
lines(x,sin_graph, col="red")

k<-1
MA<-0

while (k<=1){
  i <- k+1
  MA_vector <- rep(NA, times=101)
  while (i<=101-k){
    MA_vector[i] <- mean(sin_noise[i-k:i+k]) #HELP!
    i <- i+1
  }
  print(MA_vector)
  plot(x, MA_vector, ylim=c(-2,2))
  lines(x,sin_graph, col="red")
  k<-k+1
}
set.seed(1)
x=序列(0,2*pi,pi/50)

sin_graph目前,它是从
i
中减去
k:i
的向量,然后添加
k
比数学运算符更具先例。使用括号(见下面的代码),它计算
i-k
i+k
并创建一个向量,其中min和max作为计算结果。我得到另一个平滑函数

MA_vector[i] <- mean(sin_noise[(i-k):(i+k)])

MA_vector[i]可能带有as.numeric(i-k):as.numeric(i+k)。此外,可能函数rollaply会对您有所帮助。@Wave非常感谢您的帮助!:-)