[程式] R-script的問題

看板Statistics作者 (書書)時間15年前 (2011/03/16 00:36), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
各位版友好 目前分析需要使用別人編寫好的r-script做分析 本人並沒有編寫script的經驗 因此現在遇到一些問題來板上求助 希望大家能夠幫忙:) 我遇到的問題應該是圖表的最大值及最小值叫不進來 以下是error code 錯誤在plot.window(...) : 'ylim' 值不能是無限的 此外: Warning messages: 1: In lfproc(x, y, weights = weights, cens = cens, base = base, geth = geth, : procv: fit point outside xlim region 2: In min(x) : min 中沒有無漏失的引數; 回傳 Inf 3: In max(x) : max 中沒有無漏失的引數;回傳 -Inf 以下是程式碼 minmig2 <- 0 maxmig2 <- 0.5 # Plot line for sequence DNA mutation rate and save it in a .eps file windows() abc.reg.mut <- makepd4(target,abc.rej[,2],abc.rej[,17:55],tol=1,rej=F,transf="none") plot(locfit(~abc.reg.mut$x,weight=abc.reg.mut$wt),main="prior (black) and posterior (blue) distributions",xlab="mut rate",col="blue") plot(locfit(~priors[,2]),col="black",add=T) dev.copy2eps(file="mutrate_reg.eps", horizontal=F) print("mut rate done.") 這一部分可以成功執行 # Plot line for migration rate of population 2 and save it in a .eps file windows() abc.reg.mig2 <- makepd4(target,abc.rej[,14],abc.rej[,17:55],tol=1,rej=F, transf="none",bb=c(minmig2,maxmig2)) plot(locfit(~abc.reg.mig2$x,weight=abc.reg.mig2$wt,xlim=c(minmig2,maxm ig2)),main="prior (black) and posterior (blue) distributions",xlab="mig2",col="blue") plot(locfit(~priors[,14],xlim=c(minmig2,maxmig2)),col="black",add=T) dev.copy2eps(file="mig2_reg.eps", horizontal=F) print("mig2 done.") 這部分不可以執行 我比較了兩段script 發現差別是下方多了段 bb=c(minmig2,maxmig2)) 及 xlim=c(minmig2,maxmig2) 把這兩段拿掉就可以畫圖 我在別的script 中有看到 xlim=c(minmig2,maxmig2) 最大最小值都可以成功匯入沒有 問題, 所以我猜想應該是 bb=c 這個有問題, 可是我上網查找後沒看過這個指令, 不知 到是不是作者寫錯? 如果有人知道這個訊息 , 麻煩可以給我一些建議, 感激不盡! 因為這個script是國外作者, 寫信請教回復不會很快, 因此就在此求助大家的幫忙, 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.143.192 ※ 編輯: magic760812 來自: 140.122.143.192 (03/16 00:37) ※ 編輯: magic760812 來自: 140.122.143.192 (03/16 00:38)

03/16 06:38, , 1F
錯誤發生後用traceback(),可以看到是哪段出錯,檢查看看吧
03/16 06:38, 1F

03/16 06:39, , 2F
bb只是變數名稱,c是定義一個vector,這段沒什麼特別的
03/16 06:39, 2F

03/16 06:44, , 3F
然後看是哪一段出錯,是makepd4錯還是畫圖的時候錯
03/16 06:44, 3F

03/16 06:46, , 4F
附帶一提,你的錯誤是在max(numeric(0))的情況下會出現
03/16 06:46, 4F

03/16 06:46, , 5F
檢查一下你的minmig2,maxmig2是不是哪一段爆了...
03/16 06:46, 5F

03/16 15:43, , 6F
很有用! 感謝!
03/16 15:43, 6F
文章代碼(AID): #1DVvMV4X (Statistics)