2015-08-23 5 views
0

Как я могу поместить переменную «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" 

это seposed выглядеть следующим образом:

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

Спасибо,

Alon

ответ

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)))