例如,我想僅將函數setObj(argument)
函數f()中的變量存儲,函數的參數是帶有a,b,c,d字段的列表, 例如。在另一個函數中自動從列表中存儲變量的函數
f<-function(x){
setObj(argument=x)
(a+b+c+d)/4
}
所以我可以用他們的名字調用我的變量,而不需要從列表中進行子集化。
謝謝
例如,我想僅將函數setObj(argument)
函數f()中的變量存儲,函數的參數是帶有a,b,c,d字段的列表, 例如。在另一個函數中自動從列表中存儲變量的函數
f<-function(x){
setObj(argument=x)
(a+b+c+d)/4
}
所以我可以用他們的名字調用我的變量,而不需要從列表中進行子集化。
謝謝
我相信你正在尋找with
:
f<-function(x){
with(x,
(a+b+c+d)/4
)
}
f(list(a=1,b=2,c=3,d=4))
[1] 2.5
謝謝詹姆斯它的作品。我也解決了與附加(setObj()) –
@GianlucaPietronigro如果你使用'attach',一定要使用'detach()',否則你的環境可能會相當混亂。最好避免「附加()」。 – MrFlick
定x是一個列表,數據幀,或者您可以使用函數'有()'調用varibales整數直。 –