1

私は4つのベクトルを持っています:

a <- c(1.12,2.30,3.03,4.05)
b <- c(2.03,3.05,4.02,5.03)
c <- c(1.5, 1.6, 1.7, 2.1, 3.3, 3.7,4.1)
v <- c(2,3,3,2,17,13,50)  

私がやりたいのは、ベクトル v の値がベクトル c の代表であり、ベクトル c の一連の数値が a[i] と b[i] の間にある場合、その値を合計したいことです。ベクトル v の数値をまとめて、新しいベクトルに格納します。

したがって、数値 1.5、1.6、1.7 は a[1] と b[1] の間にあり、a[1] < c[1]、c[2]、c[3] < b[1] となります。新しいベクトルは 2+3+3 = 8 です。この数値を新しいベクトルに格納してから、a[2] と b[2] に移動し、数値を c と再度比較します。これは私がこれまでに持っているものですが、エラーが発生します:(。

a <- c(1.12,2.30,3.03,4.05)
b <- c(2.03,3.05,4.02,5.03)
c <- c(1.5, 1.6, 1.7, 2.1, 3.3, 3.7,4.1)
v <- c(2,3,3,2,17,13,50)  


i = 1
j = 1
k = 1
p = 1
S1 = NULL
U1 = NULL

while (i < length(c) & j < length(a))
{
  if (c[i] > a[j] & c[i] <= b[j])

    {
    S1[i] <- (v[i])    
    }
    i = i + 1

  U1[k] <- sum(S1) 

  else
  {
    j = j + 1
    k = k + 1  
  }

}
4

1 に答える 1