関数に式を渡したいが、式の文字列から二重引用符を削除することはできない。どうすればいい?ありがとう。文字列の引用符を削除して式として作成する
clust_start=c(1,100)
i <- 1
Lambexp <- 1:99
rank <- 1:99
alpha <- 1:99
d <- 1
b <- 1:2
ww=as.matrix(c(1:99), nrow=99)
expression.logdens <- paste(Lambexp[rank[(clust_start[i]:(clust_start[i + 1] - 1))]],
"*exp(", alpha[(clust_start[i]:(clust_start[i + 1] - 1))], " + bb*", ww[(clust_start[i]:
(clust_start[i + 1] - 1)), d], " - ", b[d]*ww[(clust_start[i]:(clust_start[i + 1] - 1)),
d], ")", sep="")
expr.formula <- paste(expression.logdens, sep="", collapse=" + ")
私はexpr.formula <みました - as.expression(expr.formula)とas.name(expr.formula)を、彼らは動作しませんでした。
logdens <- function(bb){
y <- expr.formula
return(y)
}
logdens(1)
@ジョランはい。私は、logdens関数全体をHIの関数腕()に渡したくない。遅すぎる。だから、計算結果をarms()に渡したいだけです。 – moli
「遅い」を定義し、代替方法が最初に速くなるかどうかについてアドバイスできます。 –
ところで、他の問題を無視して、 'call'と' do.call'を見てください。 –