Как преобразовать арабские числа в классе символов в английский числовой в R? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть фрейм символьных данных, первый столбец которого содержит арабские / персидские цифры. На самом деле, класс этих чисел является «символом». Как я могу преобразовать их в английскую цифру, чтобы сделать с ними некоторые вычисления?

1 Ответ

0 голосов
/ 28 апреля 2018

Похоже, в основном это вопрос отображения символов.

Не всесторонне протестировано, но, похоже, работает следующее, по крайней мере, для строк с персидскими цифрами.

persian <- "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9"
english <- "01234567890123456789"
persian.tonumber <- function(s) as.numeric(chartr(persian,english,s))

Например,

> persian.tonumber("٢٣٤٥")
[1] 2345

Я получил Unicode от этого ответа . Вы можете расширить векторы перевода, если необходимо включить арабские символы (если они еще не охвачены персидскими символами - я не очень знаком с системой, на которую вы ссылаетесь).

...