[問題] 連續正值或負值的次數

看板R_Language作者 (破殼)時間6年前 (2019/05/03 13:02), 6年前編輯推噓2(202)
留言4則, 2人參與, 6年前最新討論串1/1
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別。 建議先到 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

05/03 15:32, 6年前 , 1F
cumsum(PnL > 0)-1類似這樣就可以了
05/03 15:32, 1F

05/03 15:33, 6年前 , 2F
啊啊啊啊 我忘記要重設了
05/03 15:33, 2F
我試著寫了個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

05/03 16:53, 6年前 , 3F

05/03 16:53, 6年前 , 4F
這樣應該行得通
05/03 16:53, 4F
感謝大神, 成功了! ※ 編輯: poker0531 (223.137.162.62), 05/03/2019 17:11:26
文章代碼(AID): #1SoyjA2L (R_Language)
文章代碼(AID): #1SoyjA2L (R_Language)