データフレームで、列のインデックスを名前で取得します。例えば:
x <- data.frame(foo=c('a','b','c'),bar=c(4,5,6),quux=c(4,5,6))
「棒」の列インデックスを知りたい。
私は次のことを思いつきましたが、それは洗練されていないようです。私が見逃しているもっと簡単なビルトインはありますか?
seq(1,length(names(x)))[names(x) == "bar"]
[1] 2
実際に列のインデックスが必要ですか?通常のx $バーと同様に、x [、 "bar"]を使用して列全体を取得することもできます。どちらの場合も、行に下付き文字を付けます:x [2:3、 "bar"]またはx $ bar [2:3]。インデックスを必要とするルーチンにインデックスをフィードする必要がある場合、それはもちろん役に立ちません。
—
ウェイン
ええと、それは私のドル記号をめちゃくちゃにし続けます。結論として、列名のドル記号メソッドを使用し、それを添え字として含めるには2つの方法があります。
—
ウェイン、
この質問は、Rで何かを行う方法についてであり、関連する統計的な問題についてではないため、トピックから外れているようです。
—
ガン-モニカの復活
match("bar",names(x))
も機能しますmatch
が、最初の引数もベクトルの場合はさらに便利です。