作者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://webptt.com/cn.aspx?n=bbs/R_Language/M.1486357842.A.32D.html
※ 编辑: celestialgod (36.234.179.110), 02/06/2017 13:15:06
1F:推 jade811213: 感谢回覆~~ 02/07 02:54
2F:→ jade811213: 但我一开始好像忘了说明我是使用package fPortfolio 02/07 02:55
3F:→ jade811213: 内的nnve cov估计才出现这个问题的>< 02/07 02:55
4F:→ jade811213: 我会试着去找找原code看看我能不能看出我哪里出了问题 02/07 03:09
5F:→ jade811213: QQ 02/07 03:09