2017-08-14 50 views
0

如何向量化構造的R函數以便可以計算序列?向量化外環

原始功能是:

A = function(j,x){ 
    if(x<0 & x>j){stop(print(1))} 
    else{ 
    s=0 
    for(k in 0:x){ 
     s = s + ((j-1) * ((2)^k) * x) 
    } 
    } 
return(s) 
} 

和我要添加的外環,讓我跑第(j,x)的作爲矢量,其中j = 3,並且x = SEQ(-2: 2)

+1

也許'mapply'是你所追求的? – ulfelder

+1

你想增強函數來處理只能用於'x'的矢量,或者用於'j'的矢量嗎? – LAP

回答

2

在R中矢量化函數的最簡單方法是Vectorize。請注意,由此產生的功能可能不是非常有效。

Av <- Vectorize(A, vectorize.args = "x") 

Av(j = 3, x = seq(-2, 2)) 
# [1] -7 -3 0 6 28 
+0

不完全是我正在尋找的方法,但我設法弄清楚如何將函數放在外部循環中。不過謝謝 – R247