2016-08-26 15 views
1

R diversitreeの関数constrainは、入力として式のリストを取ります。式の連結R

formulae <- list(lambda1 ~ lambda0, mu1 ~ mu0, q10 ~ q01) 
constrain(lik, formulae=formulae) 

これらの式を決定木で渡し、必要に応じて連結したいと考えています。私は上記のようリストformulaeに到着するにはどうすればよい

f1 <- "lambda1 ~ lambda0" 
f2 <- "mu1 ~ mu0" 
f3 <- "q10 ~ q01" 

失敗の試み:

formulae <- as.formula(paste(f1,f2,f3, collapse=",")) 

EDIT 1:

私は各式の正確な数を知っているが、それらは、決定木を介して決定させてはいけません。変数formulaeに入る個々の数式(すなわち、f1f2f3など)の正確な数は、ハードコードされていないはずです。

+0

'地図(as.formula、C(F1、F2を使用することができ、f <- c(f1, f2, f3)を言います、f3)) '? – Abdou

+0

数式の数がわからない場合は、それらを個別変数として保存するのではなく、リストにまとめてください。なぜ文字列として保存するのかもわかりませんが、おそらく理由があります。 – Roland

答えて

2

あなたは使用することができます。

formulae = list(as.formula(f1),as.formula(f2),as.formula(f3)) 

あなたはもともとベクトル内のすべての文字列式を持っている場合、あなたは

lapply(f, as.formula) 
+0

あなたの 'lapply'ソリューションは、正確な入力文字列数とは無関係です。ありがとう! –