会話のトランスクリプトを R に読み込めるように取り組んでいます。ただし、カーリー クォート en や em ダッシュなどの特殊文字で衝突します。通常、Microsoft 製品では、これらの特殊文字を最初に に置き換えreplace
ます。通常、私は特殊文字をプレーン テキストに置き換えますが、場合によっては他の文字に置き換えたい場合があります (つまり、「 」を { } に置き換えます)。これは面倒で、必ずしも完全ではありません。トランスクリプトをそのまま R に読み込み、エンコーディングを使用してエンコーディングを認識可能な Unicode 形式に切り替えることができれば、トランスクリプトをgsub
取り出してプレーン テキスト バージョンに置き換えることができます。ただし、ファイルは理解できない方法で読み込まれます。私のデータがどのように見えるかのxlsxは次のとおりです。
http://dl.dropbox.com/u/61803503/test.xlsx
これは.xlsxファイルの内容です
text num
“ ” curly quotes 1
en dash (–) and the em dash (—) 2
‘ ’ curly apostrophe-ugg 3
… ellipsis are uck in R 4
これは、次のように R に読み込むことができます。
URL <- "http://dl.dropbox.com/u/61803503/test.xlsx"
library(gdata)
z <- read.xls(URL, stringsAsFactors = FALSE)
結果は次のとおりです。
text num
1 “ †curly quotes 1
2 en dash (–) and the em dash (—) 2
3 ‘ ’ curly apostrophe-ugg 3
4 … ellipsis are uck in R 4
だから私はEncoding
Unicodeに変換するために使用しようとしました:
iconv(z[, 1], "latin1", "UTF-8")
これは与える:
[1] "â\u0080\u009c â\u0080\u009d curly quotes" "en dash (â\u0080\u0093) and the em dash (â\u0080\u0094)"
[3] "â\u0080\u0098 â\u0080\u0099 curly apostrophe-ugg" "â\u0080¦ ellipsis are uck in R"
これにより、gsubing の有用性が低下します。
これらの特殊文字を区別可能な Unicode に変換して適切に gsub できるようにするにはどうすればよいですか? より明確にするために、私はz[1, 1]
読んでみたいと思っていました:
\u201C 2\u01D curly quotes
私の望む結果をさらに明確にするために、ウィキペディアのようなページからテーブルをウェブスクレイピングします: http://en.wikipedia.org/wiki/Quotation_mark_glyphsとユニコード参照チャートを使用して文字を適切に置き換えます. そのため、文字をユニコードまたは体系的に調べて文字を置き換えることができる標準形式にする必要があります。多分それはすでにあり、私はそれを逃しています。
PSファイルを.csvまたはプレーンテキストとして保存しません。これは、特殊文字がに置き換えられている?
ためです。より良い代替手段がある場合read.xls
は、ファイルを読み取る特定の方法に I'm not attached を使用します(つまり) read.xls
.