How to use a non-ASCII symbol (e.g. £) in an R package function? How to use a non-ASCII symbol (e.g. £) in an R package function? r r

How to use a non-ASCII symbol (e.g. £) in an R package function?


Looks like "Writing R Extensions" covers this in Section 1.7.1 "Encoding Issues".


One of the recommendations in this page is to use the Unicode encoding \uxxxx. Since £ is Unicode 00A3, you can use:

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


As a workaround, you can use intToUtf8() function:

# this causes errors (non-ASCII chars)f <- function(symbol = "➛")# this also causes errors in Rd files (non-ASCII chars)f <- function(symbol = "\u279B")# this is okf <- function(symbol = intToUtf8(0x279B))