Похоже, в основном это вопрос отображения символов.
Не всесторонне протестировано, но, похоже, работает следующее, по крайней мере, для строк с персидскими цифрами.
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 от этого ответа . Вы можете расширить векторы перевода, если необходимо включить арабские символы (если они еще не охвачены персидскими символами - я не очень знаком с системой, на которую вы ссылаетесь).