2015-10-04 58 views
1

下面是一個簡單的循環商店循環的結果中唯一對象

for (i in seq(1,30)) { 
    mdl<-i 
} 

我如何獲得30 mdl而不僅僅是一個mdl(這是因爲內環路發生,mdli正在mdli+1在更換。每次迭代我要的是一個像mdl1名有30 mdl也許,mdl2 .... mdl30

我嘗試這樣做:

for (i in seq(1,30)) { 
    mdli<-i 
} 

但如果我鍵入mdl1,它說mdl1 not found而打字mdli給我的i=5

值謝謝

+2

'mdl < - 整數(30)'在循環外(第一個),以及'mdl [i] < - i'在循環內。這可能有助於http://stackoverflow.com/questions/32620557/simple-function-in-r/32620651#32620651 –

+0

謝謝。但是有沒有什麼辦法可以事先指定'mdl <-integer(30)'。由於數據量非常大,我不確定有多少個mdl。我只是想知道是否有任何方法可以讓mdl取對應於i的值的名稱 – KS89

+0

但是,您有一個已知長度的序列,因此分配長度與序列長度相同的向量是有意義的(for)語句。 –

回答

1

您可以指定存儲可變beforhand沒有確定多少值應當存儲。如果您想要爲每個值分別指定一個變量,請查看paste函數。

x<- NULL 
for (i in 1:10){ 
x[i] <- i*2 
} 

*編輯:上面的評論是正確的。這種方式並不是最有效的方法。但是當計算時間不成問題時我仍然使用它。

+0

感謝您的解決方案和意見 – KS89