有什么方法可以将字符编码更改为对应的英文 IN R?

问题描述

在 R 我正在使用 Tabulizer 库从 Pdf 表中提取数据,名称是尼泊尔语 提取后我得到这个表 [1]:https://i.stack.imgur.com/Ltpqv.png

但现在我希望第 2 列的名称更改为英文等效项

在 R 中有什么方法可以做到这一点

我写的 R 代码

library(tabulizer)
location <- "https://citizenlifenepal.com/wp-content/uploads/2019/10/2nd-AGM.pdf"
out <- extract_tables(location,pages = 113)
##write.table(out,file = "try.txt")
final <- do.call(rbind,out)  

final <- as.data.frame(final) ### creating df 
col_name <- c("S.No.","Types of Insurance","Inforce Policy Count","","Sum Assured of Inforce Policies","Sum at Risk","Sum at Risk Transferred to Re-Insurer","Sum At Risk Retained By Insurer","") 
names(final) <- col_name

final <- final[-1,]
write.csv(final,file = "/cloud/project/Extracted_data/Citizen_life.csv",row.names = FALSE)
View(final)```

解决方法

该文档似乎使用了非 Unicode 编码。这个网站 https://www.ashesh.com.np/preeti-unicode/ 可以将一些尼泊尔语编码转换为 Unicode,如果您加载了正确的字体,它会在 R 中正确显示。当我在你的代码输出上尝试它时,它做了一些对我来说看起来不错的事情,但我不知道尼泊尔语:

> out[[1]][1,2]
[1] ";fjlws hLjg aLdf"

当我转换该字符串的内容时,我得到

सावधिक जीवन बीमा

在我看来类似于文档中该页面上的文本。如果它实际上写得正确,那么将其转换为英语将需要一些会说尼泊尔语的人来进行翻译:希望是你,但如果我使用谷歌翻译,它会给出

Term life insurance

所以我的建议是:联系那个 www.ashesh.com.np 网站的所有者,看看他们是否可以给你翻译规则。如果其他人找不到,请编写一个 R 函数来实现它们。然后手动进行英文翻译。