【发布时间】:2015-04-13 12:59:17
【问题描述】:
如果我写
`Δ` <- function(a,b) (a-b)/a
然后我可以包含U+394,只要它包含在反引号中。 (相比之下,Δ <- function(a,b) (a-b)/a 以 unexpected input in "�" 失败。)所以显然 R 解析 UTF-8 或 Unicode 或类似的东西。作业进展顺利,eg 的评估也进展顺利
`Δ`(1:5, 9:13)
。我也可以评估Δ(1:5, 9:13)。
最后,如果我定义了 winsorise <- function(x, λ=.05) { ... } 之类的东西,那么 λ (U+3bb) 不需要 需要用反引号“引入”R。然后我可以毫无问题地拨打winsorise(data, .1)。
在 R 的文档中,我能找到的唯一一个 unicode 的 mention 已经超出了我的想象。理解它的人能否更好地向我解释一下——当 R 需要 ` 来理解分配给♔但可以解析 ♔(a,b,c) 时,“幕后”发生了什么?
【问题讨论】:
-
在 R 内部:R 用户认为的变量或对象是绑定到值的符号。我认为您链接到的 CHARSXP 部分是值,您实际上对符号规则感兴趣。也就是说,我一直在编写用中文编写的 R 代码,所以我希望 delta 能够工作。
-
您使用的是什么版本的 R/什么操作系统/什么语言环境?将函数分配给
Δ时出现“错误:\uxxxx 序列不支持在反引号内(第 1 行)”(在今天的 R-devel 和 Win 7 下的 3.1.0 上测试,英国英语语言环境。) -
您使用的是哪个版本的 R,
Δ <- function(a,b) (a-b)/a失败?当你说它“失败”时,你是什么意思?你有语法错误吗?如果在R version 3.1.0, x86_64-apple-darwin10.8.0 (64-bit)locale en_US.UTF-8 上为我工作 -
@MrFlick @RichieCotton 3.1.2 “南瓜头盔”,
Error: unexpected input in "�"说。 -
Δ 在
R version 3.1.1 (2014-07-10) Platform: x86_64-w64-mingw32/x64 (64-bit)上对我不起作用