a
ベクトルの要素がベクトルの要素の間にあるか、Rにないかを確認したいのですが、b
どうすればよいですか?2から4の間で3であり、「はい」の場合は結果に表示され、そうでない場合は表示されないことを意味します。ベクトルaの最初と最後の要素をチェックしたくないと言ったばかりです。結果はわずか3になります。
a = c(1, 3, 8, 12)
b = c(0, 2, 4, 6, 8)
a
ベクトルの要素がベクトルの要素の間にあるか、Rにないかを確認したいのですが、b
どうすればよいですか?2から4の間で3であり、「はい」の場合は結果に表示され、そうでない場合は表示されないことを意味します。ベクトルaの最初と最後の要素をチェックしたくないと言ったばかりです。結果はわずか3になります。
a = c(1, 3, 8, 12)
b = c(0, 2, 4, 6, 8)
これが私がそれを行う方法です:
> 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
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