Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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_Minimum - Fatal编程技术网

使用另一个向量的最小值创建向量[R]

使用另一个向量的最小值创建向量[R],r,minimum,R,Minimum,我有一个非常简单的问题,但奇怪的是,它花费的时间比我想象的要长。我在这里概括地说,最后我举了一个例子。我希望澄清: 我有一个数值向量X1,有N个观测值。我需要根据向量的最小值X1创建另一个向量,X2 但条件有点奇怪:此向量X2的每个观测值必须是向量X1的最后126个观测值的最小值,位于相同位置 换句话说,向量X2的每个观测值i都是向量X1的(i-125):i之间最小值的结果 我尝试了很多方法,比如for,创建函数,使用apply,使用index,但都没有成功 举个例子: set.seed(1)

我有一个非常简单的问题,但奇怪的是,它花费的时间比我想象的要长。我在这里概括地说,最后我举了一个例子。我希望澄清:

我有一个数值向量X1,有N个观测值。我需要根据向量的最小值
X1
创建另一个向量,
X2

但条件有点奇怪:此向量
X2
的每个观测值必须是向量
X1
的最后126个观测值的最小值,位于相同位置

换句话说,向量
X2
的每个观测值
i
都是向量
X1
(i-125):i
之间最小值的结果

我尝试了很多方法,比如for,创建函数,使用apply,使用index,但都没有成功

举个例子:

set.seed(1)
x1<-rnorm(500,2,3)
i<-seq(126,length(x1))
x2<-min(x1[(i-125):i])

for(126中的j:length(x1)){

x2for循环应具有与提示警告的尝试中相同的括号(并且不应初始化for循环内的向量,因为这会擦除先前的值):

x2
Warning messages:
1: In (i - 125):i :
  numerical expression has 375 elements: only the first used
for(j in 126:length(x1)){
  x2<-rep(NA,length(x1))
  x2[j]<-(min(x1[j-125:j]))
}
x2<-rep(NA,length(x1))
for(j in 126:length(x1)){

  x2[j]<-(min(x1[(j-125):j]))
}