質問

私はエラーを取得せずにこれを実行するかどうかはわかりません。ここに私の問題を単純化した例です。

と言う私は、DF

このデータフレームを持っています
a   b  c  d
1   2  3  4
2   3  4  5
3   4  5  6

それから私は、変数を持っている。

x <- min(c(1,2,3))

今、私が欲しい、以下のんでください。

y <- DF[a == x]

しかし、私はRが私のデータフレームに「X」の欄を探しているので、「X」私はエラーを取得するようないくつかの変数を参照してみてください。私は、「選択した未定義の列を」取得エラー

私はRでやろうとしています何を行うことができますどのように?

役に立ちましたか?

解決

私は、これはあなたが探しているものだと思います:

> x <- min(DF$a)
> DF[DF$a == x,]
  a b c d
1 1 2 3 4

は(「X」変数を避けて)もっと簡単な方法は、このことだろう

> DF[which.min(DF$a),]
  a b c d
1 1 2 3 4

またはこの:

> subset(DF, a==min(a))
  a b c d
1 1 2 3 4

他のヒント

あなたは、特に行列、data.framesとインデックスに、R から紹介を読んでから利益を得ることができます。あなたのaはdata.frameの列で、あなたのxはスカラーです。あなたが持っているの比較が動作しません。

たぶん、あなたは意味

R> DF$a == min(c(1,2,3))
[1]  TRUE FALSE FALSE
R> DF[,"a"] == min(c(1,2,3))
[1]  TRUE FALSE FALSE
R> 
その最初の行フィットではなく、他のもあなたに伝えます。

which()でこれをラップすると、あなたの代わりにインデックス与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top