R中的编码问题

时间:2017-11-21 19:13:09

标签: r encoding

我在处理俄语文本时遇到编码问题。我有一个俄罗斯文本列表(示例如下所示),我通过用一个关键字替换相似的关键字来应用同义词。

mydata=
c("Проведение глюкозотолерантного теста",
"Проведение гониоскопической компрессионной пробы Форбса",
"Проведение комплексной медико-автотехнической экспертизы в отношении трупа и живых лиц",
"Проведение комплексного аутопсийного исследования плода и новорожденного")

syns <- list(
list(term="проба", syns= c("проба","пробы")),
list(term="толстокишеч", syns= c("толстокишеч","толст")))

regex_batch <- sapply(syns, function(syn) syn$term)
names(regex_batch) <- sapply(syns, function(x) paste0("\\b",  paste(x$syns, collapse = "\\b|\\b"), "\\b"))
text_res <- str_replace_all(mydata, regex_batch) 
text_res =  stri_encode(text_res,"UTF-8", "")
View(text_res)

代码工作正常,因为它用проба取代пробbl。

Проведение гониоскопической компрессионной **проба** Форбса

但是,如果我将数据从XLSX文件导入到R中,而不是创建mydata向量,则代码不能正常工作。它不会返回任何错误,但它不会替换同义词。为了调查这个问题,我检查了编码。

Encoding(if I use character vector)-- "unknown".
Encoding(if I import data from XLSX)-- "UTF-8".

我还使用stri_encode(k,"UTF-8","")删除了UTF-8编码,但它没有用。我正在使用readxl包中的read_excel()函数从XLSX文件导入数据。由于我有很多行文本,我需要从excel或csv

导入数据

0 个答案:

没有答案