No.21727 【R】条件分岐のswitch文のパフォーマンス向上 【赤羽】 2015/07/07(Tue) 22:48
青木先生,
赤羽と申します,ご教示をよろしくお願いいたします。
昨日は,【R】データフレーム間の特定の要素のコピーの質問で,
有難いご教示を頂戴し,大変に助かりました。
さっそく活用させていただきました。
青木先生,もう一点,教えていただきたいことがございます。
よろしくお願いいたします。
---
大規模なデータフレームですので,処理の効率化が課題です。
列名「番号」には,ある範囲の整数値が格納されています(例えば,1〜10)。
列名「名称」には,以下の対応表に基づいて,「番号」に対応するラベルを代入します。
【対応表】
「番号」=1 ⇒ 「名称」="あああ"
「番号」=2 ⇒ 「名称」="いいい"
・・・・
「番号」=10 ⇒ 「名称」="こここ"
行方向にループを回し,
取得した「番号」の値に基づいて,条件分岐のswitch文で判定して,
対応表から引いたラベルを,「名称」に代入しています。
大規模なデータフレームですので,処理の効率化が課題です。
ご助言を頂戴できれば,大変に助かります。
どうぞ,お力を貸してください。
よろしくお願いいたします。
No.21728 Re: 【R】条件分岐のswitch文のパフォーマンス向上 【青木繁伸】 2015/07/08(Wed) 11:15
名称 <- c("あああ", "いいい", "ううう", "えええ", "おおお") # 1 から順に対応する名称を定義
d <- data.frame(番号=c(1,3,2,4,1,2,5))
d$名称 <- 名称[d$番号] # この一行でできます
d
No.21729 【御礼】 Re: 【R】条件分岐のswitch文のパフォーマンス向上 【赤羽】 2015/07/08(Wed) 22:19
青木先生,
赤羽と申します,ご教示をありがとうございました。
おかげさまで,劇的なパフォーマンス向上を実現できました。
併せて,R言語の特徴的なコードの良いお手本を見せていただき,
大変に良い勉強をさせていただきました。
心から御礼を申し上げます。
● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る