2013-01-22 60 views
2

我正在編寫一個R中的函數,它給出了數值索引向量,其中一個向量除以一個沒有餘數的數被列在合成向量中。R餘數函數,提取特定值

這是我迄今爲止

myfunction <-function(x,d) 
{ 
    {y<- x%%d 
    return(y)} 
} 

,如果你輸入:

myfunction(x=2:12,d=3) 

結果出來爲:

[1] 2 0 1 2 0 1 2 0 1 2 0 

當時我在點,我試圖提取0的所有值,因爲這些值表示沒有餘數存在。我不知道該怎麼去做...

回答

3
myfunction <- function(x,d) which(x%%d==0) 
x <- 2:12 
x[myfunction(x,3)] 

你想通過函數做到這一點的任何特定原因?否則,你可以做

x[x%%3==0] 
+0

我只是在嘗試不同的事情;如果沒有給定函數中的「d」,你將如何去定義默認值? – Frank

+0

@TomRobert在函數參數中:'myfunction < - function(x,d = 3)which(x %% d == 0)' –

+0

@BlueMagister我犯了一個失誤,並且現在就意識到了!謝謝! – Frank