我想找出Ryacas给我作为字符串的解决方案 - 但它不起作用:
> require("Ryacas")
> x <- Sym("x")
> expr <- Solve(x + 1 == 0, x)
> expr
expression(list(x == -1))
> as.character(expr)
[1] "( Solve( ( ( x + 1 ) == 0 ) , x ) )"
奇怪的是,当我打印变量时,我得到解决方案,但当我尝试将其作为字符串读出时,我得到原始等式。
我的问题
如何将Ryacas的解决方案转换为字符串? (这样我可以用标准R进一步修改它吗?)
答案 0 :(得分:3)
如果您想将该表达式转换为字符串,则应使用Eval()
来获取评估结果
Eval(expr)
# [[1]]
# expression(x == -1)
如果要将结果提取为字符,在这种情况下可以执行
Eval(expr)[[1]][[1]]
# [1] "( x == -1 )"