A2 <- 1 ## creates object "A2" with value `[1] 1`.
2A <- 1 ## fails because "2A" is a not syntactically valid R expression.
"2A" <- 1 ## creates object "2A" with value `[1] 1`.
assign("2B", 1) ## creates object "2B" with value `[1] 1`.
if (require(igraph)) g <- graph_from_literal("1A" - "2A")
A2; get("2A"); get("2B")
ls()
## [1] "2A" "2B" "A2"
2条答案
按热度按时间hwazgwia1#
在许多编程语言中,R中的 * 符号 *(即变量名)不能以数字开头。由于
1A
不是有效的R符号,因此表达式1A - 2B
在语法上无效。由于quote
将分析但不执行表达式,因此不能在quote
中使用包含无效符号(如1A
或2B
)的表达式。很难知道您在这里要达到什么目的,但您似乎希望在绘图中使用带引号的表达式。如果是这种情况,您可以使用
quote(1*A - 2*B)
,因为这个 * 是 * 一个有效的表达式,并且*
符号将在绘图时删除。创建于2022年12月17日,使用reprex v2.0.2
iklwldmw2#
将
2A +-+ 2B
引为quote("2A" +-+ "2B")
。当quote(expr)
中的表达式包含不可解析的对象名时,将其引为引号。举例来说。