R_Language 板


LINE

※ 引述《jackhzt (巴克球)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]:piecewise linear approximation(PLA) : 目的:使用線性的方式,切割一個序列 ( 時間序列) : 目標方法: 簡單來說連結起點和終點, 依時間依序比較點和線的距離 : 太大就將點和終點連線, 以新的線再依序和接下來的點比距離, 重複做 : 以下是原文敘述: : http://imgur.com/eUcKxg6 : http://imgur.com/BLbYeyJ : 問題: : (step1): : Input time series Q(i : j) and threshold value "error". A vector Bp : is used to restore the breakpoints. "k" records the number of : the present breakpoints. "pos" denotes the position of the : newest breakpoint. : Initially, i = 1, j = m, where m is the length of time series. : Since the first point and the last point : are the special breakpoints, let k = 2, Bp(1) = q1 and : Bp(2) = qm. : (step2): : For time series Q(i : j), create line segment L(i : j) according : to the formula (6). Set two variables l = i + 1 and : best_so_far = 0. *公式6在我的程式碼中有付 : (step3): : Calculate the distance of point ql to the line segment L(i : j), : that is D(ql,L(i : j)). : (step4): : If D(ql,L(i : j)) > best_so_far, best_so_far = D(ql,L(i : j)) and : pos = l. : (step5): : l = l + 1. If l>=j, go to the step 6; otherwise, go back to step3. : (step6): : If best_so_farPe, k = k + 1, Bp(k) = q_pos, go back to the Step : 2 and let the two subsequences Q(i : pos) and Q(pos : j) : redo the step 2 to step 6, respectively. : (step7): : Sort the element of vector Bp by an ascending time and : output the sorted result. : 出自:http://tinyurl.com/hhosdmk -3.1 : 1.我的程式碼看起來有點問題,尤其是step 6這地方不太會表示,有高手可以解惑嗎? : 2.有沒有比較正常的打法?我的打法好像問題很大 : 3.package方面有試過一些,但是有辦法表達和上面敘述一樣的package目前好像沒找到 : 程式碼可貼於以下網站: http://ideone.com/TOEISf : 求高手救援 我不確定我有做對,看圖應該是對了 基本上這個要套用遞迴才能解決 程式如下: 好讀版:http://pastebin.com/95ATSHHV q<-c(18, 15, 24, 23, 18, 22, 19, 29, 22, 25, 20, 19, 18, 20, 26, 32, 26, 26, 34, 29, 23, 34, 22, 19, 21, 19, 34, 23, 23, 23, 30, 21, 15, 29, 32, 19, 21, 28, 22, 32, 29, 25, 28, 28, 23, 12, 26, 24, 27, 14, 38, 27, 28, 25, 38, 34, 25, 37, 15, 28, 15, 23, 23, 28, 15, 15, 19, 25, 28, 16, 19, 17, 23, 19, 16, 18, 18, 17, 20, 18, 21, 13, 11, 12, 13, 16, 13, 16, 10, 13, 14, 6, 19, 18, 19, 15, 17, 6, 14, 28, 15, 20, 16, 12) # distance function dis_f <- function(t, q, i, j){ a <- (q[j]-q[i])/(j-i) abs((q[i]*j-q[j]*i)/(j-i) + a * t - q[t]) / sqrt(a^2 + 1) } pla <- function(q, i, j, time, eplison){ if (i > j || j - i <= 1) return(sort(time)) # find the maximum distance (Following two lines represents the Step 3~5) dis_t <- dis_f((i+1):(j-1), q, i, j) # calculate distance of qi~qj loc <- which.max(dis_t) # find the position pos <- i + loc # record the position best_so_far <- dis_t[loc] # print the segment cat(sprintf("segment: %i, %i, %.2f\n", i, j, best_so_far)) # Step 6: find more segments if (best_so_far >= eplison) { # record the time time <- c(time, pos) if (pos < j) { time <- pla(q, i, pos, time, eplison) time <- pla(q, pos, j, time, eplison) } } return(sort(time)) } # calculate eplison eplison <- sd(dis_f(1:length(q), q, 1, length(q))) time <- pla(q, 1, length(q), c(1, length(q)), eplison) plot(1:length(q), q,type="o") lines(time, q[time], col = 2) --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.74.87
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1458630164.A.3E0.html ※ 編輯: celestialgod (140.109.74.87), 03/22/2016 15:06:07
1F:推 jackhzt: 謝謝c大 我試試看 感恩 03/22 15:25







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP