繁体   English   中英

对带有S4对象的自定义函数和带有2个参数的自定义函数使用

[英]Using `lapply` with a S4 object and a custom function with 2 arguments

我正在尝试使用lapply()在S4对象上执行名为myfun(x,y)的函数,但不知道这是否是合适的方法。

我S4对象dblist包含3个插槽,我想打发无聊的情节df.para使用我的函数,它的参数df.listdf.para (参数df.para用于创建子插槽(例如$ Name; $ Eval ... etc))

所以我尝试了这个:

> lapply(dblist@df.list, myfun(x,y) , y=dblist@df.para)  
Error: object 'x' not found

这是对象dblist的描述:

> str(dblist)
Formal class 'dblist' [package ".GlobalEnv"] with 3 slots
  ..@ df.list :List of 102
  .. ..$ :'data.frame': 81 obs. of  3 variables:
  .. .. ..$ Parametre: Factor w/ 81 levels "1.","10.","11.",..: 77 79 76 80 74 81 75 78 1 13 ...
  .. .. ..$ valeur1  : Factor w/ 69 levels "","1/2-1/2","1522",..: 55 27 5 11 20 4 3 2 24 26 ...
  .. .. ..$ valeur2  : Factor w/ 73 levels "","]","a6","b5",..: 2 2 2 2 2 2 2 2 28 21 
...  
.. .. [list output truncated]
  ..@ df.para : list()
  ..@ df.coups: list()

我认为问题在于您的lapply函数对于myfun的参数不清楚。 尝试这个:

lapply(X=dblist@df.list, FUN=myfun(x=X,y) , y=dblist@df.para) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM