Shiny中生成方程负数时得到1x3数组,如何合并为单个字符元素?
解决方法
你的问题出在误用了as.character()的参数——sep和collapse是paste()/paste0()的专属参数,as.character()根本不支持这些,所以你的代码只是把三个元素拼成了长度为3的向量,没有完成字符串合并。
直接用paste0()就能一步把内容合并成单个字符元素:
# 先获取原方程 Func <- as.character(input$ObjectiveFun) # 拼接成负数形式 Func <- paste0("-(", Func, ")")
执行后Func就是预期的单个字符元素:
"-((x+2*y-7)^2+(2*x+y-5)^2)"
也可以用paste()指定sep="",效果完全一致:
Func <- paste("-(", Func, ")", sep = "")
内容的提问来源于stack exchange,提问作者shongololo
相关产品推荐
相关产品推荐

