2017-09-05 106 views
1

例如,我想僅將函數setObj(argument)函數f()中的變量存儲,函數的參數是帶有a,b,c,d字段的列表, 例如。在另一個函數中自動從列表中存儲變量的函數

f<-function(x){ 
    setObj(argument=x) 
    (a+b+c+d)/4 
} 

所以我可以用他們的名字調用我的變量,而不需要從列表中進行子集化。

謝謝

+0

定x是一個列表,數據幀,或者您可以使用函數'有()'調用varibales整數直。 –

回答

1

我相信你正在尋找with

f<-function(x){ 
    with(x, 
    (a+b+c+d)/4 
) 
} 


f(list(a=1,b=2,c=3,d=4)) 
[1] 2.5 
+0

謝謝詹姆斯它的作品。我也解決了與附加(setObj()) –

+1

@GianlucaPietronigro如果你使用'attach',一定要使用'detach()',否則你的環境可能會相當混亂。最好避免「附加()」。 – MrFlick

相關問題