2016-05-15 4 views
2

はのは、私のデータフレームは、自動車、 の異なる種類になりR:各行で最高値のベクトルを生成する方法は?

> DF 
    V1 V2 V3 
1 0.3 0.4 0.7 
2 0.4 0.2 0.1 
3 0.2 0.8 0.3 
4 0.5 0.8 0.9 
5 0.2 0.7 0.8 
6 0.8 0.3 0.6 
7 0.1 0.5 0.4 

行が含まれており、列はV1、V2、V3の特定のカテゴリの確率だろうと言ってみましょう。

最も高い確率を持つカテゴリを各自動車に割り当てるベクトルを生成したいとします。 たとえば、自動車1をV3に、自動車2をV1に、自動車3はV2と関連付けられる。

これにどのように取り組むべきなのかについての助言やヒントはありますか?

答えて

4

max.colを使用すると、各行の最大値に対応する列インデックスを取得できます。

names(DF)[max.col(DF, "first")] 
#[1] "V3" "V1" "V2" "V3" "V3" "V1" "V2" 
+1

ありがとう!それは素早く簡単でした – Elizabeth

2

別の解決策は、次のとおりです。

names(DF)[apply(DF, 1, which.max)] 
# [1] "V3" "V1" "V2" "V3" "V3" "V1" "V2" 
関連する問題