Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 测试符号是否为运算符_R_Expression - Fatal编程技术网

R 测试符号是否为运算符

R 测试符号是否为运算符,r,expression,R,Expression,给定一个符号,您如何知道它是否是运算符 > expr <- quote(a[b + 1] * c) > expr[[1]] `*` 可以使用== > expr[[1]] == quote(`+`) [1] FALSE > expr[[1]] == quote(`*`) [1] TRUE 但是我想知道是否有一种更简单的方法不涉及几十个=。您可以将表达式转换为字符。这是有效的:as.character(expr[[1]])%in%c(“+”,“*”)。您可以将表达式

给定一个符号,您如何知道它是否是运算符

> expr <- quote(a[b + 1] * c)
> expr[[1]]
`*`
可以使用
==

> expr[[1]] == quote(`+`)
[1] FALSE
> expr[[1]] == quote(`*`)
[1] TRUE

但是我想知道是否有一种更简单的方法不涉及几十个
=

您可以将表达式转换为字符。这是有效的:
as.character(expr[[1]])%in%c(“+”,“*”)
。您可以将表达式转换为字符。这是有效的:
as.character(expr[[1]])%in%c(“+”,“*”)
> expr[[1]] == quote(`+`)
[1] FALSE
> expr[[1]] == quote(`*`)
[1] TRUE