簡體   English   中英

使非ASCII數據適合CRAN

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM