我的一个R包中有一个简单的函数,其中一个参数为symbol = "£"

formatPound <- function(x, digits = 2, nsmall = 2, symbol = "£"){
  paste(symbol, format(x, digits = digits, nsmall = nsmall))
}


但是在运行R CMD check时,出现以下警告:

* checking R files for non-ASCII characters ... WARNING
Found the following files with non-ASCII characters:
  formatters.R


肯定是导致问题的£符号。如果我将其替换为合法的ASCII字符(例如$),则警告消失。

问题:如何在函数参数中使用£而不引起R CMD check警告?

最佳答案

看起来“编写R扩展”在1.7.1 "Encoding Issues"节中进行了介绍。



此页面中的建议之一是使用Unicode编码\uxxxx。由于£是Unicode 00A3,因此可以使用:

formatPound <- function(x, digits=2, nsmall=2, symbol="\u00A3"){
  paste(symbol, format(x, digits=digits, nsmall=nsmall))
}


formatPound(123.45)
[1] "£ 123.45"

关于r - 如何在R包函数中使用非ASCII符号(例如£)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11452796/

10-08 20:40