,所以很抱歉,這是錯誤的地方,或不正確地完成。第一次在這裏問。我對R很陌生,只有很少的編程經驗(大學裏有一個pascal類,而且擅長使用macromedia的術語 - 所以不用擔心代碼)。做,直到我無計可施循環中的R
讓事情變得簡短,我想最好還是告訴你我有什麼,我想什麼。我花了數小時搜尋並試圖尋找解決方案。
的,我有(什麼是所謂的「信號」的XTS對象,按天數(在這裏留下了索引的例子來讓這個例子簡單):
open close position
0 0 0
1 0 0
0 0 0
0 0 0
0 1 0
0 0 0
,什麼我想發生:
open close position
0 0 0
1 0 1
0 0 1
0 0 1
0 1 1
0 0 0
基本上,當「開放」是真實的,重複1S在「位置」,直到「關」是真的非常簡單,我想,但不知何故,我不能讓它工作在這裏的一個例子。在那裏,我認爲可能是接近,但它陷入了一個無限循環:
for (i in 1:nrow(signals)) {
if (signals[i,"open"]==1) next
while (signals[i,"close"] == 0) {
signals[i,"position"] <- 1 }
}
謝謝!
編輯 - 我離開了一個重要的限定。有些時候,「接近」中的第一個真實陳述會出現在「開放」中的第一個真實陳述之前。然而,現在我已經寫出了這篇文章,我認爲只是以某種方式「清理」close列是比較容易的,所以在open列的前1個點之前沒有1。
但是,如果有人有一個想法如何做到這一切,隨意添加附加信息。謝謝!
哇,這讓我以完全不同的方式看待問題。它回答了原來的問題。先生,謝謝你的快速反應。我感到非常放心。 – 2013-04-05 11:28:32