специальные символы в R
Я работаю над тем, чтобы иметь возможность читать транскрипты диалога в R. Однако я сталкиваюсь с ударом со специальными символами, такими как фигурные кавычки en и em, тире и т. Д. Обычно я заменяю эти специальные символы в продукте Microsoft сначала наreplace
, Обычно я заменяю специальные символы обычным текстом, но в некоторых случаях желаю заменить их другими символами (т.е. я заменяю & # x201C; & # x201D; на {}). Это утомительно и не всегда тщательно. Если бы я мог прочитать транскрипты в R как есть, а затем использовать Encoding для переключения их кодировки в распознаваемый формат Unicode, я мог быgsub
их и заменить их текстовыми версиями. Однако файл читается каким-то образом, который я не понимаю.
Вот пример того, как могут выглядеть мои данные:
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 менее полезным.
Что я могу сделать, чтобы преобразовать эти специальные символы в различимый Юникод, чтобы я мог соответствующим образом выделить их? Чтобы быть более явным, я надеялся получитьz[1, 1]
читать:
\u201C 2\u01D curly quotes
Чтобы сделать еще более ясным мой желаемый результат, я создам таблицы со страницы, подобной Википедии:http://en.wikipedia.org/wiki/Quotation_mark_glyphs и используйте справочную таблицу Юникода, чтобы заменить символы соответствующим образом. Поэтому мне нужно, чтобы символы были в юникоде или в каком-то стандартном формате, через который я могу систематически проходить и заменять символы. Может быть, это уже есть, и я пропускаю это.
PS Я не сохраняю файлы в формате .csv или в виде обычного текста, поскольку специальные символы заменяются на?
отсюда использованиеread.xls
Я не привязан к какому-либо конкретному способу чтения в файле (т.е.read.xls
) если у вас есть лучшая альтернатива.