[問題] 關於類似choose挑選變數

看板R_Language作者 (你好)時間7年前 (2017/04/04 01:11), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
請簡略描述你所要做的事情,或是這個程式的目的 各位前輩大大大家好, 小弟寫R資歷尚淺, 最近在研究關於股市分析的quantstrat這個套件, 以下為問題求解, 假如加入指標策略如下, add.signal(strategy.st, name = "sigComparison", arguments = list(columns = c("K", "D"), relationship = "gt"), label = "KD1") add.signal(strategy.st, name = "sigComparison", arguments = list(columns = c("rsi", "thr20"), relationship = "gt"), label = "KD2") add.signal(strategy.st, name = "sigComparison", arguments = list(columns = c("sma20", "sma5"), relationship = "gt"), label = "KD3") . . . . . add.signal(strategy.st, name = "sigComparison", arguments = list(columns = c("D", "K"), relationship = "lt"), label = "KD20") 假設小弟現有20個下判斷的決策, 名稱為KD1到KD20, 因此接下來是希望以上這20個指標判斷"某些"同時成立的情況下才enter, 如下: add.signal(strategy.st, name = "sigAND", arguments = list(columns = c("atrX", "KD1", "KD2"), cross = TRUE), label = "Entry1") 因此想請問在上面這個code中的下面這行 arguments = list(columns = c("atrX", "KD1", "KD2"), 我該如何做到所有排列組合都做到, 如下 arguments = list(columns = c("atrX", "KD1"), 和 arguments = list(columns = c("atrX", "KD2"), . . . arguments = list(columns = c("atrX", "KD20"), 共有choose(20, 1)種可能, arguments = list(columns = c("atrX", "KD1", "KD2"), arguments = list(columns = c("atrX", "KD1", "KD3"), . . . arguments = list(columns = c("atrX", "KD19", "KD20"), 共有choose(20, 2)種可能 依此類推, 一值做到choose(20, 19)種排列組合, 亦即想把所有納入一到二十個指標的所有排列組合都想得到結果, 目前沒有想到比較聰明的寫法, 希望各位大大能提供一寫想法~ 如表達不清, 請見諒, 謝謝大家! 題外話:記得年前看到報導, 國內某劵商砸重金提升硬體設備, 據說開發R的下單系統, 希望能像國外IBrokers進行交易~_~" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.206.26 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1491239480.A.4F5.html

04/04 02:19, , 1F
最陽春 sapply(1:20,function(i)t(combn(x,i)))[-20]
04/04 02:19, 1F

04/04 12:05, , 2F
謝謝x大, 用這個方法已完成!
04/04 12:05, 2F
文章代碼(AID): #1Oue8uJr (R_Language)