2013-11-25 612 views
1

我有一段代碼是一個For循環,執行一個1:n參數的函數。現在我想運行這個循環1000次。我可以使用另一個循環嗎?For循環for另一個循環在R

par1<-function(x,y,z) 
for (i in 1:n) { 
do stuff 
} 

我怎麼弄到這段代碼重複,這樣函數(X,Y,Z)與環路下面是重申了1000倍?

+0

如果你想你'顯示循環for'是功能的一部分,您將需要另一組括號。如果你可以提供你想要做的[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),我們可以提供一個更有幫助的迴應。 – gung

回答

1

可以做到這一點。

par1<-function(x,y,z){ 
    for(i in 1:n){ 
    do stuff 
    } 
} 

for(j in 1:1000){ 
    par1(something) 
} 
+0

嘿... par1在我的情況是一個變量,我不知道你是什麼意思(東西)(它不是另一個函數與inbuild參數)。 J不會在某些事情中出現(因此runnign變量在那裏出現並不重要?) –

+0

'par1' *不能是一個變量;您已將它定義爲一個函數,它需要3個變量('x','y ',&'z'),並做一些與他們有關的事情,您可能需要比通過SO提供的更多的基本建議。 – gung

1

目前尚不清楚你在做什麼。 我有時使用sapply來遍歷函數。 因此,舉例來說,如果x,y和z是長度爲1000的向量:

par1<-function(x,y,z) { 
    for (i in 1:n) { 
    do stuff 
    } 
} 

sapply(1:1000, function(X) par1(x[X],y[X],z[X]))