0

aベクトルの要素がベクトルの要素の間にあるか、Rにないかを確認したいのですが、bどうすればよいですか?2から4の間で3であり、「はい」の場合は結果に表示され、そうでない場合は表示されないことを意味します。ベクトルaの最初と最後の要素をチェックしたくないと言ったばかりです。結果はわずか3になります。

      a = c(1, 3, 8, 12)
      b = c(0, 2, 4, 6, 8)
4

2 に答える 2

-1

これが私がそれを行う方法です:

> Interval <- cut(a, b, FALSE)            ## Which 'slot' of b does a fit into?
> Interval
[1]  1  2  4 NA
> Interval == 1:length(a)                 ## Does it fit sequentially?
[1]  TRUE  TRUE FALSE   NA

a[4]完全に範囲外であるためb、すべてのNA値をFALSE後で置き換えるか (つまりVec[is.na(Vec)] <- F) 、カット関数のc(b,max(a))代わりに使用することができます。b

于 2012-12-06T07:34:48.553 に答える
-1

why don't you just use a loop?

> a = c(1, 3, 8, 12)
> b = c(0, 2, 4, 6, 8)
> for (i in 2:(length(a)-1)){ if (b[i] < a[i] && a[i] <b[i+1]) {print (a[i])}}
[1] 3
于 2012-12-06T08:53:49.750 に答える