作者celestialgod (天)
看板R_Language
標題Re: [問題] 新手 error問題
時間Mon Feb 6 13:10:37 2017
※ 引述《jade811213 (Sylvia)》之銘言:
: 執行後出現如圖的error
: http://i.imgur.com/Lju83jF.jpg
: 但不太知道他的意思及解決方法
: 請高手解答謝謝><
loglik.new <- NA
loglik.old <- 1
convergence <- 1e-6
err <- tryCatch({
if (abs(loglik.new - loglik.old) / (1 + abs(loglik.old)) > convergence)
print(1)
}, error = function(e) e)
print(err$message)
# [1] "missing value where TRUE/FALSE needed"
這意思就是你前面計算的
abs(loglik.new - loglik.old) / (1 + abs(loglik.old))
是NA,所以會出現這個錯誤
至於你推文連結的錯誤則是找不到loglik.new這個變數造成的:
rm(loglik.new)
err <- tryCatch({
if (abs(loglik.new - loglik.old) / (1 + abs(loglik.old)) > convergence)
print(1)
}, error = function(e) e)
print(err$message)
# [1] "object 'loglik.new' not found"
不知道這樣有沒有比較清楚?
比較漂亮/好的寫法 (避免被global variable影響):
http://pastebin.com/8AvXg0cc
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.179.110
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1486357842.A.32D.html
※ 編輯: celestialgod (36.234.179.110), 02/06/2017 13:15:06
推 jade811213: 感謝回覆~~ 02/07 02:54
→ jade811213: 但我一開始好像忘了說明我是使用package fPortfolio 02/07 02:55
→ jade811213: 內的nnve cov估計才出現這個問題的>< 02/07 02:55
→ jade811213: 我會試著去找找原code看看我能不能看出我哪裡出了問題 02/07 03:09
→ jade811213: QQ 02/07 03:09