library(nlme)
fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
data = Loblolly,
fixed = Asym + R0 + lrc ~ 1,
random = Asym ~ 1,
start = c(Asym = 103, R0 = -8.5, lrc = -3.3), verbose = TRUE)
# **Iteration 1
# LME step: Loglik: -114.787, nlminb iterations: 1
# reStruct parameters:
# Seed
# -1.669062
# PNLS step: RSS = 43.40812
# fixed effects: 101.4496 -8.627331 -3.233751
# iterations: 4
# Convergence crit. (must all become <= tolerance = 1e-05):
# fixed reStruct
# 0.02048682 0.02712258
#
# **Iteration 2
# LME step: Loglik: -114.7428, nlminb iterations: 1
# reStruct parameters:
# Seed
# -1.624988
# PNLS step: RSS = 43.40812
# fixed effects: 101.4496 -8.627331 -3.233751
# iterations: 1
# Convergence crit. (must all become <= tolerance = 1e-05):
# fixed reStruct
# 0 0
からのメッセージを格納するためにどのように、私はnlme
関数呼び出しを参照していますが、私は解決策は、他のverbose = TRUE
生成された出力に一般化になると思います。基本的には、** Iteration 1から始まる冗長なテキストを保存したいと思います。 Rでこれを行う方法はありますか?R:特に冗長= TRUE
編集:Gregor de Cillaの答えは、上記の例(アルゴリズムが収束したところ)でうまくいきます。アルゴリズムが収束しなかったらどうなるでしょうか?
u2 = evaluate({
fm2 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
data = Loblolly,
fixed = Asym + R0 + lrc ~ 1,
random = Asym ~ 1,
start = c(Asym = 103, R0 = -10, lrc = -8), verbose = TRUE)
})
> cat(u2[[2]])
# Error in cat(u2[[2]]) : object 'u2' not found
ありがとうございます。エラーのあるモデルでこれを行う方法もありますか?私は私のメインポストを編集しました。 – Adrian
私はすでに 'new_output_hanler'のドキュメントを指摘しました。そこで、エラーメッセージのコールバックを定義することができます。 –
はい、わかりました。ドキュメントにはサンプルコードがないようですので、少し失われています。私は 'u2 = evaluate({ fm2 < - nlme(height、SSymymp(age、Asym、R0、lrc)、 のデータ= Loblolly、 固定= Asym + R0 + lrc〜1、 を試していますrandom = Asym 〜1、 start = c(Asym = 103、R0 = -10、lrc = -8)、verbose = TRUE) }、メッセージ=アイデンティティ、エラー=アイデンティティ、警告=アイデンティティ) '作業。 – Adrian