2017-05-31 44 views
0

我想有三個聲明打造功能(「爲」,「而」和「代表」)。我怎樣才能打破無限循環或R工作組的代碼?

所以,我寫下面的代碼。

f <- function(x){ 
    y <- 1 
    for(i in 1:x){ 
     while(((1:x)[i]) < x){ 
     y<-rep(y*((1:x)[i])) 
    } 
    } 
    print(y) 
} 

我嘗試工作的代碼。

但是,任何錯誤信息,在控制檯只是「stop'sign。

出了什麼問題?

回答

0

你是停留在while循環,這就是爲什麼i永遠不會增加(for循環只運行一次),這意味着(1:x)[i]始終爲1 該功能的實際工作,但只適用於用戶輸入x < 2。僅在用於x = 0更精確。

讓我們知道你想達到什麼。否則,我們不會像能夠幫助你,因爲它的實際工作(雖然非常有限)。

注意rep()只有一個參數總是返回數只有一次。

此外,由於您的問題有點不清楚:如果您想停止代碼執行,只需點擊stop標誌。