我的問題很奇怪,我猜。 我想爲我的大學排球隊制定一個時間表,我決定通過R來做。我有21支球隊,每週都有16支球隊參加比賽。如果一些球隊有不同數量的比賽,這並不重要,因爲我們將看看平均成績。訂購R重新啓動功能
所以我創建了一個很簡單的功能:
play<-function(group){ for (i in 1:1){ playing<-sample(group,16) in1<-sort(playing) in2<-sample(playing) if(sum(in1==in2)==0){ games<-rbind(in1,in2) } if(sum(in1==in2)!=0){ i<-i-1 } } return(games) }
什麼是我的問題嗎? R不幫助我!如果兩個向量in1和in2在至少一個位置上彼此相等,則它不會再次運行該函數。你們有什麼想法,爲什麼?你有什麼想法我可以解決這個問題嗎?
玩是本週比賽的球隊。 (其中只有16人蔘加) 組將以隊名爲向量...(您可以使用A,B,C,D作爲示例) 樣本(玩)只是隨機化16個選擇的向量團隊。當in1和in2在任何空間都不匹配時,我們可以讓這兩個對進行播放。在檢查時,問題就來了。 :/
任何人都可以幫助我嗎?謝謝
'for(i in 1:1)'只會運行一次。你可能需要「時間」,但我相信有一個更好的方法來做到這一點。 – thelatemail
您是否想制定一個16場比賽的時間表,其中16場比賽的每場比賽都有兩場比賽。在一場比賽中,球隊出現在第一列(在家打球?),另一場出現在第二列(打球?)?所以你想產生一個(1:16)的排列,使得排列的第n個元素不是'n'? – Spacedman