No.22890 Re: 【R】文字列ベクトルの突き合わせの高速化 【青木繁伸】 2020/04/11(Sat) 21:34
以下のようなプログラムだと,実行時間はいかほどになりますか?dict = matrix(c(実行結果
"りんご", "林檎",
"アップル", "林檎",
"apple", "林檎",
"レモン", "檸檬",
"れもん", "檸檬",
"lemon", "檸檬",
"remon", "檸檬"), byrow=TRUE, nc=2)
v = c("りんご", "アップル", "apple",
"檸檬", "レモン", "れもん", "lemon", "remon",
"イチゴ", "スイカ")
a = unname(sapply(v, function(s) {
i = which(dict[, 1] == s)
ifelse(length(i) == 0, s, dict[i, 2])
}))> a
[1] "林檎" "林檎" "林檎" "檸檬" "檸檬"
[6] "檸檬" "檸檬" "檸檬" "イチゴ" "スイカ"
No.22891 御礼(Re: 【R】文字列ベクトルの突き合わせの高速化) 【明石】 2020/04/12(Sun) 09:53
青木先生 様;
お忙しいところを失礼いたします,明石と申します。
今回も,大変にありがたい,貴重なご教示をいただきました。
ありがとうございました。
劇的な改善をはかることができました。
エラップス時間の比較です。
・青木先生の方法:16秒
・私の従来方法 :25分経過しても,まだ終わりません..........
データ量が多くなれば,この効果は極めてありがたいです。
青木先生からご教示いただきました貴重なノウハウを,勉強しています。
心から,心より,御礼を申し上げます。
//
● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る