[問題] 找局部極小值

看板R_Language作者 (bird)時間7年前 (2018/02/22 11:23), 7年前編輯推噓0(004)
留言4則, 4人參與, 7年前最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 使用迴圈寫一個簡單的局部極小值判斷程式,但出現error [程式範例]: k為一個n=2685的value,型態為num n<-30 b<-rep(k[1]+1,n) e<-rep(k[length(k)]+1,n) k<-c(b,k,e) p<-0 for (i in (n+1):(length(k)+n)) { if (min(k[i-n:i+n])==k[i]) {p1<-1} else {p1<-0} p<-c(p,p1) } 到for loop前都沒問題,之後會出現error Error in if (min(k[i - n:i + n]) == k[i]) { : missing value where TRUE/FALSE needed 請問各位高手該如何修改,謝謝! [環境敘述]: R x64 3.4.3 win10 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.93.97 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1519269807.A.757.html ※ 編輯: guitarbird (118.163.93.97), 02/22/2018 11:25:23

02/22 11:56, 7年前 , 1F
檢查 k 裡面是否有 NA
02/22 11:56, 1F

02/22 12:03, 7年前 , 2F
你的i要跑到(length(k)+n)但是你的k並沒有這麼長
02/22 12:03, 2F

02/22 13:49, 7年前 , 3F
是for (i in (n+1):(length(k)-n))吧?
02/22 13:49, 3F

02/22 15:09, 7年前 , 4F
對! 蠢了,謝謝大大們
02/22 15:09, 4F
文章代碼(AID): #1QZZUlTN (R_Language)
文章代碼(AID): #1QZZUlTN (R_Language)