使用中缀表示法将语言类型转换为 R 中的字符串
Converting language type to string in R using infix notation
假设我在 R 中有以下表达式:
someExpr <- substitute(a+2*b)
现在我想看一下这个的子表达式,比方说 2*b
并生成字符串 "2*b"
。我访问子表达式:
someExpr[[3]]
2 * b
类型是语言,class是call
typeof(someExpr[[3]])
[1] "language"
我试图用 toString
和 as.character
天真地转换它,但后来我总是得到前缀顺序:
toString(someExpr[[3]])
[1] "*, 2, b"
as.character(someExpr[[3]])
[1] "*" "2" "b"
是否可以获取中缀表示法的字符串?
您可以使用 deparse
:
someExpr <- substitute(a+2*b)
result<-deparse(someExpr[[3]])
result
[1] "2 * b"
str(result)
chr "2 * b"
假设我在 R 中有以下表达式:
someExpr <- substitute(a+2*b)
现在我想看一下这个的子表达式,比方说 2*b
并生成字符串 "2*b"
。我访问子表达式:
someExpr[[3]]
2 * b
类型是语言,class是call
typeof(someExpr[[3]])
[1] "language"
我试图用 toString
和 as.character
天真地转换它,但后来我总是得到前缀顺序:
toString(someExpr[[3]])
[1] "*, 2, b"
as.character(someExpr[[3]])
[1] "*" "2" "b"
是否可以获取中缀表示法的字符串?
您可以使用 deparse
:
someExpr <- substitute(a+2*b)
result<-deparse(someExpr[[3]])
result
[1] "2 * b"
str(result)
chr "2 * b"