首页 > 解决方案 > 为什么 '->'(12, b) 会出错?

问题描述

在 R 中,运算符也可以表示为函数调用,例如

'<-'(b, 12)

b <- 12.
为什么以下给出错误:

'->'(12, b)

? (代码12 -> b按预期工作。)

标签: r

解决方案


因为运算符被解析器“翻译”为函数,并且左右赋值都被解析为<-函数。没有权利分配功能。

e <- quote(b <- 12)
as.list(e)
#[[1]]
#`<-`
#
#[[2]]
#b
#
#[[3]]
#[1] 12

e <- quote(12 -> b)
as.list(e)
#[[1]]
#`<-`
#
#[[2]]
#b
#
#[[3]]
#[1] 12

推荐阅读