0
私はdplyr
とbroom
(そして最終的にmclapply
)を使用して並列にwrapnls
を使用して多くの非線形フィットに合うようにしようとしていますが、私はnlxb
から解析評価エラーを取得しています: dplyrの中でnlxbとwrapnlsを実行するには?
Error in parse(text = joe) (from #11) : <text>:1:6: unexpected input
1: b1.10% <- 20
は、私は両方
do
とを使用して、このエラーが出ます
lapply
に近づきます。
library(nlmrt)
library(dplyr)
library(purrr)
library(broom)
data_frame(x = seq(0, 200, 0.1),
y = 1.2*exp(-(times - 10)^2/(2*4.2^2)) + 2.4*exp(-(times - 50)^2/(2*3.8^2)) + 5.3*exp(-(times - 80)^2/(2*5.1^2)) + rnorm(length(times), sd = 0.05)) %>%
do({
xl <- quantile(.$x, 0.1, na.rm = TRUE)
xm <- quantile(.$x, 0.5, na.rm = TRUE)
xh <- quantile(.$x, 0.8, na.rm = TRUE)
starts <- c(a1 = 5, a2 = 5, a3 = 5,
b1 = xl, b2 = xm, b3 = xh,
c1 = 5, c2 = 5, c3 = 5)
fmla <- y ~ a1*exp(-(x - b1)^2/(2*c1^2)) + a2*exp(-(x - b2)^2/(2*c2^2)) + a3*exp(-(x - b3)^2/(2*c3^2))
df <- data_frame(x = .$x, y = .$y)
mod <- wrapnls(fmla, lower = 0, upper = 200, start = starts, data = df)
tidy(mod)
})
これを回避する方法はありますか?
予想よりも簡単でした。ありがとう、私は特別な評価の魔法が行われている場合には、直接 'quantile'を使用しないことを覚えています:) – wdkrnls