2016-11-08 20 views
1

の間隔を探す:私は、データフレーム(DF)が開始点と終了点にデータフレームから

Start End Result 
2  300 FL91 
5  250 FL12 
550 750 FL18 
720 900 FL41 

私が(「スタート」< 81>「終了」の間にあるすべての「結果」を見つけたいです

y <- 81 
findInterval(y, DF$Start, DF$End) 

をしかし、私はこのようなエラーを得た:、私は「起動して、 『終了』との間隔にあるすべての「結果」を見つけたい未満81 ポイント私が試した 『VECは』非ソートする必要があります私のデータフレームにはNAが含まれていないと確信しています。減少してソートされません。 同様のトピックの提案を使用しようとしましたが、解決策を見つけられません。だから、

Extracting data from data frame

Interval search on a data frame

、私は何をすべきでしょうか?

答えて

2

あなたは建売機能を使用するか、独自に作成することができます

findInt <- function(value, start, end) { 
    start < value & end > value 
} 

indx <- findInt(81, DF$Start, DF$End) 
DF$Result[indx] 
#[1] "FL91" "FL12" 
+0

のようなもの。どうもありがとうございました –

2

多分それは動作します。この

[1] TRUE TRUE FALSE FALSE 
> df[df[,1] <= 81 & 81 <= df[,2], 3] 
[1] FL91 FL12 
関連する問題