[解決済み] 各行について、最大値の列名を返す。
2022-07-19 16:33:25
質問
従業員の名簿があるのですが、どの部署にいることが多いかを知りたいのです。部門名に対して従業員IDを集計するのは簡単ですが、頻度表から、名簿のカウント数ではなく部門名を返すのは厄介です。以下に簡単な例を示します(列名=部署、行名=従業員ID)。
DF <- matrix(sample(1:9,9),ncol=3,nrow=3)
DF <- as.data.frame.matrix(DF)
> DF
V1 V2 V3
1 2 7 9
2 8 3 6
3 1 5 4
さて、どうすれば
> DF2
RE
1 V3
2 V1
3 V2
どのように解決するのですか?
あなたのデータを使う方法もあります(今後の参考のために
set.seed()
を使った例を作るには
sample
を使用した例を再現可能にするため)。
DF <- data.frame(V1=c(2,8,1),V2=c(7,3,5),V3=c(9,6,4))
colnames(DF)[apply(DF,1,which.max)]
[1] "V3" "V1" "V2"
を使うよりも速い解決策です。
apply
を使うより早いかもしれません。
max.col
:
colnames(DF)[max.col(DF,ties.method="first")]
#[1] "V3" "V1" "V2"
...ここで
ties.method
のいずれかになります。
"random"
"first"
または
"last"
これはもちろん、最大値と等しい2つの列がたまたまあった場合に問題を引き起こします。いくつかの行で複数の結果を得ることになるので、そのような場合に何をしたいのかよくわかりません。例えば
DF <- data.frame(V1=c(2,8,1),V2=c(7,3,5),V3=c(7,6,4))
apply(DF,1,function(x) which(x==max(x)))
[[1]]
V2 V3
2 3
[[2]]
V1
1
[[3]]
V2
2
関連
-
R - よくあるエラーとその原因 - 注意事項
-
R言語エラー:図の余白が大きすぎる 解決方法
-
[解決済み] Rで文字列から文字を削除する
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] [Solved] data.frameのカラムをベクトルに変換する?
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー
-
[解決済み] Rデータフレーム内の各行について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[R] is.data.frame(x) のエラー : (リスト) オブジェクトを 'double' 型に強制できない。
-
[解決済み] "エラーです。Rでテーマの書式を保存する際に「Don't know how to add RHS to the theme object」(テーマオブジェクトにRHSを追加する方法がわかりません)と表示されます。
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] Rでcは何をするのですか?重複] [重複
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] ggplot2 Rプロットで軸の制限を設定するには?
-
[解決済み】RでCRANミラーを選択する方法
-
[解決済み】data.frameのグループごとの平均値【重複】について
-
[解決済み】エラー:Rで関数が見つかりませんでした。
-
[解決済み】Rスクリプトで警告をグローバルに抑制する方法