如何将字符串打印成函数?

时间:2015-08-23 15:02:30

标签: r

我如何把变量" diti"在函数defineModel?

> diti
[1] " + mySMI(GSPC) + myCLV(GSPC) + myMACD(GSPC) + myrunMean(GSPC)"
data.model <- specifyModel(T.ind(GSPC) ~ Delt(Cl(GSPC),k=1) diti )
Error: unexpected symbol in "data.model <- specifyModel(T.ind(GSPC) ~ Delt(Cl(GSPC),k=1) diti"

它看起来像这样:

data.model <- specifyModel(T.ind(GSPC) ~ Delt(Cl(GSPC),k=1) + mySMI(GSPC) +    myCLV(GSPC) + myMACD(GSPC) + myrunMean(GSPC) )

谢谢,

阿龙

1 个答案:

答案 0 :(得分:0)

正如@josilber在评论中所解释的那样,传递给函数specifyModel()的参数需要与paste连接成一个字符串。

在您的示例中,可以使用

实现
data.model <- specifyModel(paste("T.ind(GSPC) ~ Delt(Cl(GSPC),k=1)",diti))

data.model <- specifyModel(eval(paste("T.ind(GSPC) ~ Delt(Cl(GSPC),k=1)",diti)))