- R のlibrary(Nippon) に数字英字の全角→半角変換関数 zen2han ある (カナは変換できない).逆に半角カナの全角化は? > chartr("[ア-ン]", "[ア-ン]", "ハルニレ") [1] "セナシニ" まだ工夫が必要.濁点・半濁点という難問もあり…
12:29:18
- 呪われ半角カナの変換問題,ひょっとして前処理特攻隊のみなさんなら,ひょっとして解決策をすでに開発しておられるとか……?
12:33:50
- さきほどのしくじり chartr() 解説. > chartr("[ア-ン]", "[ア-ン]", "アカサタナ") [1] "アェガケザ" となる理由は半角・全角の文字コード表がこうなっているから.
pic.twitter.com/pTwNaN6H06
12:46:39
-
-
@berobero11
たしかに R だけでやるのは,かなりたいへんそうな……
12:50:26
- .
@TJO_datasci
@berobero11
ありがとうございます.ちなみに私が好きな Perl だと use Jcode; Jcode::convert(\$str, $ocode, $icode, "z"); ですよ! ……え? だれも Perl つかわない?!
12:57:58
- 「R で半角→全角変換」について質問してきたヒトは,R での変換に見切りをつけてゑくせるの「半角→全角変換」
bit.ly/1DaSBAs
を使うことにしたそうで……なんだろう,この敗北感は……
13:04:07
-
RT
@kohske
:
@KuboBook
こういうのも有ります。 > stringi::stri_trans_nfkd("アカサタナ") [1] "アカサタナ" windowsで使えるのかわかりません。
13:07:32
-
RT
@kohske
:
@kubobook
windowsでもダイジョブですね。
13:07:37
- .
@kohske
ありがとうございます! library(stringi) cran.r-project.org/web/packages/s…
知りませんでした.今,ダウンロードしてコンパイルしてるんですけどかなり時間かかりますね…終わったら,いろいろいじってみます.あ,終わった…
13:09:59
-
RT
@kohske
:
@kubobook
しかし環境によっては濁点が独立1文字になってしまう場合もあるので、その点の対処は別途ひつようかもしれません。
13:11:20
-
RT
@kohske
:
@kubobook
この辺りの闇です。
d.hatena.ne.jp/miau/20110805/…
13:14:32
-
@kohske
NFC/NFD という新しい闇を知ることになってしまいました……
13:16:38
- ふむふむNFC/NFD
> stri_trans_nfkd("ダイジョブ")
[1] "タイショフ"
> stri_trans_nfc("ダイジョブ")
[1] "ダイジョブ"
> stri_trans_nfkc("ダイジョブ")
[1] "ダイジョブ"
13:26:53
- これは Ubuntu 14.04 (Linux) 上の R の library(stringi) の挙動の一例です.
13:27:56
-
@MayumiPod
こちらではこんなかんじ
> v <- c("ダイジョブ", "ダイジョーブ", "ダイジョーブ"); stri_trans_nfkc(v)
[1] "ダイジョブ" "ダイジョーブ" "ダイジョーブ"
13:35:23
-
RT
@kohske
:
@KuboBook
裏でICUに投げてるので、JavaとかPerlとかPythonのICUバインディングと同じ結果になるとはおもいますが 、この辺りは正気の人間なら手を出してはいけない闇ですね。
14:07:47
-
@MayumiPod
あらら,sapply() 使えばよかったのに……
v <- c("ダイジョブ", "ダイジョーブ", "ダイジョーブ") sapply(v, stri_trans_nfkc)
14:16:09
- .
@kohske
ICU
en.wikipedia.org/wiki/Internati…
というソフトウェアがあるんですね.調べてみると Perl の Encode も ICU の table を参照してるような記述が……現代におけるバベルの塔ですね.
14:25:12
-
@MayumiPod
なるほど……R の version 依存ではないと思うんで,CVS ファイル化するときに文字コートを UTF-8 など unicode を指定すればいいのかな……じつは,このあたり,よくわかっていない.
14:26:44