[英]Making non-ASCII data suitable for CRAN
我有一些包含非ASCII字符的數據,我希望將其包含在R包中作為rda
文件。 當我在包裝上運行R CMD check
時,我收到警告:
Warning: found non-ASCII strings
這阻止了它在CRAN上被允許。
關於從數據文件中刪除非ASCII字符有類似的問題,但我想保留非ASCII字符。
您可以在此處獲取CSV數據。 我正在將它讀入R並使用此代碼重新保存為rda
:
english_monarchs <- read.csv(
wherever_you_downloaded_the_file_to,
fileEncoding = "utf8",
na.strings = ""
)
save(english_monarchs, "english_monarchs.csv")
它是包含非ascii值的數據集的name
列。
head(levels(english_monarchs$name))
## [1] "Adda" "Æðelbehrt"
## [3] "Æðelberht I" "Æðelberht II and Eardwulf"
## [5] "Æðelberht II, Ælfric and Eadberht I" "Æðelberht III"
基於編寫R擴展的編碼問題部分中的(不是很清楚)指導,我認為我應該將因子級別編碼為UTF-8,但顯而易見的方法不起作用:
Encoding(levels(english_monarchs$name)) <- "utf8" #each encoding still "unknown"
如何使數據足夠便攜以便在CRAN上接受?
對我有用的是將編碼聲明為"latin1"
,然后使用iconv
轉換為UTF-8。
Encoding(levels(english_monarchs$name)) <- "latin1"
levels(english_monarchs$name) <- iconv(
levels(english_monarchs$name),
"latin1",
"UTF-8"
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.