3

次のように、数値をベクトルに一致させようとしていました。

t <- seq(-4,4,length=81)

tifl.e <--1.5
tifc.e <--0.5
tifr.e <-0.5
tifl.m <--1.6
tifc.m <--0.4
tifr.m <-0.8

match( c(tifl.e, tifc.e, tifr.e), t)
[1] 26 36 46
match( c(tifl.m, tifc.m, tifr.m), t)
[1] NA NA NA

私もコードを試しましたが、同じ結果が得られました。

tifl.cut <-c(-1.5,-1.6)
tifc.cut <-c(-0.5,-0.4)
tifr.cut <-c(0.5,0.8)

match( c(tifl.cut[1], tifc.cut[1], tifr.cut[1]), t)
[1] 26 36 46
match( c(tifl.cut[2], tifc.cut[2], tifr.cut[2]), t)
[1] NA NA NA

その間、%in% を使用して同様の構文を試しましたが、まったく同じ結果が得られました。

では、構文の問題は何ですか? どうすれば直せますか?

ご意見ありがとうございます。

4

2 に答える 2

1

findIntervalの代わりに本当に欲しいと思いますmatch

 findInterval( c(tifl.e, tifc.e, tifr.e), t)
#[1] 26 36 46
 tifl.m <--1.6
 tifc.m <--0.4
 tifr.m <-0.8
 findInterval( c(tifl.m, tifc.m, tifr.m), t)
#[1] 24 36 48

許容係数が必要な場合は、「ファズ」を差し引くだけです。

findInterval( c(tifl.m, tifc.m, tifr.m)- 1e-10, t)
#[1] 24 36 48
于 2013-04-30T22:33:06.497 に答える