2017-02-15 28 views
0

使用(嵌套)循環,我已經掃描在互聯網上相當長的一段論壇也沒有找到一個明確的答案,我的問題,所以我決定把它張貼在這裏。我使用的程序是R.構建載體中的R

下面的問題是,我似乎在無法找到解決的辦法。我負責使用嵌套循環構造一個矢量(1,2,2,3,3,3 ...,10,...,10)(所以不需要rep())。到目前爲止,我設法構建了所有元素的列表,但無法將其轉換爲所需的矢量。我已經嘗試了很長一段的方法,如將數據轉換成一個矩陣,它調換等

到目前爲止還沒有一個單一的方法工作,也許有人對這個問題更深入的瞭解可以幫助我。

這是我到目前爲止有:

for (i in 1:10){ 
    for (j in 1:10) 
    if (j<=i) 
    { 
     x = c(i) 
    print(x) 
    } 
} 

它爲我提供了:

[1] 1 
[1] 2 
[1] 2 
[1] 3 
[1] 3 
[1] 3 
[1] 4 
[1] 4 
[1] 4 
[1] 4 
[1] 5 
[1] 5 
[1] 5 
[1] 5 
[1] 5 
[1] 6 
[1] 6 
[1] 6 
[1] 6 
[1] 6 
[1] 6 
[1] 7 
[1] 7 
[1] 7 
[1] 7 
[1] 7 
[1] 7 
[1] 7 
[1] 8 
[1] 8 
[1] 8 
[1] 8 
[1] 8 
[1] 8 
[1] 8 
[1] 8 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 9 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 
[1] 10 

提前感謝!

+0

什麼'代表(1:10,時間= 1:10) '? – NicE

+0

'X = C(X,I)'代替'X = C(I)' – user31264

+0

感謝您的快速回復@NicE我不允許使用代表(); – Anderson

回答

0

如果將結果存儲在一個載體中,而不是將其打印,是剩餘的問題,這是可以做到這樣:

result <- vector(mode = "integer") 
k <- 1 
for (i in 1:10){ 
    for (j in 1:10) 
    if (j<=i) 
    { 
     result[k] = c(i) 
     k <- k+1 
    } 
} 
head(result) 
+1

你應該給你的答案添加一些描述。 –

+0

歡迎來到Stack Overflow!雖然這段代碼片段是受歡迎的,並且可能會提供一些幫助,但如果它包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762),它會[大大改進],這將解決問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –