我试图将越南标签放在R图中。我使用RStudio并使用UTF-8编码保存我的代码。它处理我在代码中放入的越南字符,我的意思是代码中的所有内容都正确显示。但是,在我制作的图表中,虽然许多字符显示正常,但几个重要的字符没有正确显示,包括
đ - 显示为d
错误ư - 显示为u
ơ - 错误地显示为o
ă - 错误地显示为
不幸的是,这使得我的图表看起来不专业且不值得信任。
如果有人可以帮我解决这个问题,我真的很感激。
非常感谢!
庄
@DWin:我在Windows 7上,这是我的sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] MASS_7.3-17 MatchIt_2.4-20 tools_2.15.0
@krlmlr:这是我的简单图表代码:
knorelative.count <- matrix(nrow=5,ncol=1)
knorelative.count[,1] <- c(1579,638,215,100,120)
par(mar=c(2,4,4,2))
barplot(prop.table(knorelative.count),beside=TRUE,
yaxt="n",ylim=c(0,.6),
legend=c("không ai biết",
"không biết nhiều hơn biết",
"nửa biết, nửa không biết",
"biết nhiều hơn không biết",
"tất cả đều biết"),
main="Người khác trong gia đình, họ hàng biết hay không")
axis(2,at=seq(0,.6,.1),labels=paste(100*seq(0,.6,.1),"%",sep=""),las=1)
当我运行时,主标题中的đ和图例中的两个ơ和đ变成d和o。
答案 0 :(得分:3)
通过十六进制代码指定unicode字符通常更安全:
plot(1:4,rep(1,4),pch=c("\u0111","\u01B0","\u01A1","\u0103"),cex=4)
答案 1 :(得分:2)
对于那些遇到同样问题的越南人来说,这是使用詹姆斯建议的十六进制代码修复的一个例子:
打印( “TRUONG”)
[1]“truờng”
打印( “TR \u01B0ờng”)
[1]“trường”
虽然我可以在我的R控制台中键入越南语,在本例中为trường,但是任何类型的输出(例如print,graph)都无法显示字符ư。用十六进制代码替换ư可以修复输出。
(注意:我之前使用过功能粘贴,但后来根据James的建议对其进行了编辑,将十六进制代码粘贴在字符串中。)
我非常感谢以这种方式学习。我会为我目前正在撰写的报告做这件事。
庄
答案 2 :(得分:0)
像这样的大写字母
plot(
1:4,
rep(1,4),
pch=c("\U0110","\u01AF","\u01A0","\u0102"),
cex=4
)