看板 R_Language 關於我們 聯絡資訊
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別。 建議先到 http://tinyurl.com/mnerchs 搜尋本板舊文。 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 範例如下, 想做出 PnL 欄連續正值或負值出現的次數, 查了一下找不到, 不知道是不是關鍵字問題, 懇請各路大神教我, 謝謝! GrzTimes = 連續正值的次數 LeZTimes = 連續負值的次數 [程式範例]: test Date PnL GrZTimes LeZTimes 1 2012-11-28 -1521.0 0 0 2 2012-12-05 -453.1 0 1 3 2012-12-12 96.9 0 0 4 2012-12-19 72.9 1 0 5 2012-12-26 522.2 2 0 6 2013-01-02 12.8 3 0 7 2013-01-09 389.8 4 0 8 2013-01-16 -69.4 0 0 9 2013-01-23 492.4 1 0 10 2013-01-30 -0.8 0 0 [環境敘述]: [關鍵字]: 連續次數,MDD,DD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.162.62 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1556859722.A.095.html ※ 編輯: poker0531 (223.137.162.62), 05/03/2019 13:07:05 ※ 編輯: poker0531 (223.137.162.62), 05/03/2019 13:07:49
celestialgod: cumsum(PnL > 0)-1類似這樣就可以了 05/03 15:32
celestialgod: 啊啊啊啊 我忘記要重設了 05/03 15:33
我試著寫了個function用lapply去套也不行@@ myFun<-function(x){ if(x>0){ cumsum(x>0)-1 }else{0} } 請問哪裡出問題... ※ 編輯: poker0531 (223.137.162.62), 05/03/2019 16:18:58
bboybighead2: https://ideone.com/FVxpEy 05/03 16:53
bboybighead2: 這樣應該行得通 05/03 16:53
感謝大神, 成功了! ※ 編輯: poker0531 (223.137.162.62), 05/03/2019 17:11:26