Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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
循环条件返回NA和缺少的值(R)_R - Fatal编程技术网

循环条件返回NA和缺少的值(R)

循环条件返回NA和缺少的值(R),r,R,我有134个观察值存储在loss\u scaled变量中,并在x\u sort中排序。我想估计每个j元素的参数,我需要循环,直到其中一个参数位于完整数据中的第j个和(j+1)个元素。参数估计公式在函数A和B中。问题是在循环部分,我认为条件返回NA,因为我已经尝试运行它,并且输出如下 Error in if (scale1 < k1 || scale1 > k2) { : missing value where TRUE/FALSE needed 非常感谢。请提供一个最小的可复

我有134个观察值存储在
loss\u scaled
变量中,并在
x\u sort
中排序。我想估计每个
j
元素的参数,我需要循环,直到其中一个参数位于完整数据中的第j个和(j+1)个元素。参数估计公式在函数
A
B
中。问题是在循环部分,我认为条件返回NA,因为我已经尝试运行它,并且输出如下

Error in if (scale1 < k1 || scale1 > k2) { : 
  missing value where TRUE/FALSE needed

非常感谢。

请提供一个最小的可复制示例,请参阅
x_sort=sort(loss_scaled)
len=length(loss_scaled)
k=0.372238898

A=function(m){
  a1=log(x_sort)
  a2=(log(x_sort))^2
  val1=m*sum(a2[1:m])-sum(a1[1:m]^2)
  return(val1)
}

B=function(m){
  a1=log(x_sort)
  a2=(log(x_sort))^2
  val2= len*(sum(a1[1:m]))-m*(sum(a1))
  return(val2)
}

scale1=x_sort[1]*prod((x_sort/x_sort[1])^(k^2))
shape1=len*(sum(log(x_sort/x_sort[1]))^(-1))

for (j in 1:(length(x_sort)-1)){
  k1=x_sort[j]
  k2=x_sort[j+1]
  
  if(scale1 < k1 || scale1 > k2){
    shape1=(k^2*B(j)+sqrt(k^4*B(j)^2+4*n*len*k^2*A(j)))/(2*A(j))
    scale1=exp((len*k^2)/(j*shape1))*(prod(x_sort[1:j])^(1/j))
  }
  else{
    break()
  }

}