2011-04-05 22 views
3

Rのデータフレームに関する質問元のデータフレームの位置(行番号)と共にデータフレームから行を抽出したいとします。この考え方は、前のデータフレームから抽出された行情報、および前のデータフレームからの行位置を含む新しいデータフレームを作成することです。私が何をしたいかRデータフレームの行番号を取得

patchLocalNo <- patchList[which(patchListTop5$sensitivity == patchLocalSpec),] 

は、どの条件を満たしてPATCHLISTから行番号を取る、とpatchLocalNoの列に追加されます。

ありがとうございました。私はオンラインで検索して同僚に尋ねましたが、私が思いつくことができるのは、perlでデータを前処理することです。

+1

。 –

答えて

8

私はあなた自身の質問に答えたと思います。

結果は、抽出したい行番号のベクトルです。

df <- data.frame(x = runif(20)) 

w <- which(df$x > 0.9) 
w 
[1] 9 11 14 16 20 

data.frame(which=w, df=df[w, ]) 

    which  df 
1  9 0.9437138 
2 11 0.9995509 
3 14 0.9237888 
4 16 0.9526003 
5 20 0.9191727 
+0

OPは1つの値だけでなく、行全体と一致するように探しており、検索された値に行番号を追加したいと考えています。 – Benjamin

+1

@Benjamin質問から完全にはっきりしていません。いずれの場合でも、私のサンプルコードはこれを行います - ブールステートメントと一致するデータフレームの行番号を特定し、抽出された行に追加します。問題のより良い仕様とサンプルデータがなければ、私は答えを改善する明確な方法を考えることはできません。 – Andrie

+0

提供されているソリューションがスクリプトで動作します。ブールステートメントと一致するデータフレームの行番号を特定し、抽出された行に追加します。 – wespiserA

1

あなたは、コードの1行または2行でこれを行うことができますいくつかのサンプルデータ、あなたが希望の出力の例は非常に参考になる

rNo <- as.integer(rownames(patchList[which(patchListTop5$sensitivity == patchLocalSpec),])) 
patchLocalNo <- cbind(patchLocalNo[rNames,], rNo) 
関連する問題