Создайте словарь и замените им латинские слова в R - PullRequest
0 голосов
/ 07 октября 2018

У меня есть набор данных с латинскими словами

text<-c("TESS",
"MAG")

Я хочу установить транслитерацию с латинского-кириллического

library(stringi)
d=stri_trans_general(mydat$text, "latin-cyrillic")

Но я хочу вручную создать словарь транслита.Например:

dictionary<-c("Tess"="ТЕСС"
"MAG"="МАГ"
.......
......
)

при создании словаря в тексте mydat $ все латинские слова должны быть заменены кириллическими словами, которые я установил.как-то так

d=dictionary(mydat$text)

Как выполнить такую ​​замену?

input

text<-c("TESS",
"MAG")

файл с транслитом

dict=path.csv

содержит

dict=

structure(list(old = structure(c(2L, 1L), .Label = c("mag", "tess"
), class = "factor"), new = structure(c(2L, 1L), .Label = c("маг", 
"тесс"), class = "factor")), .Names = c("old", "new"), class = "data.frame", row.names = c(NA, 
-2L))

# вывод

text<-c("ТЕСС",
"МАГ")

вот и все

1 Ответ

0 голосов
/ 07 октября 2018

Вот, пожалуйста!

dict <- structure(list(
  old = structure(c(2L, 1L), .Label = c("mag", "tess"),class = "factor"),
  new = structure(c(2L, 1L), .Label = c("маг", "тесс"), class = "factor")),
  .Names = c("old", "new"), class = "data.frame", row.names = c(NA, -2L))

input<-c("TESS","MAG")

output <- with(lapply(dict,as.character), new[match(tolower(input),old)])
output
# [1] "тесс" "маг"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...