我有一个像这个假人的功能:
FUN <- function(x, parameter){
if (parameter == 1){
z <- DO SOMETHING WITH "x"}
if (parameter ==2){
z <- DO OTHER STUFF WITH "x"}
return(z)
}
Run Code Online (Sandbox Code Playgroud)
现在,我想使用apply在数据集上使用该函数.问题是,那apply(data,1,FUN(parameter=1))
不会工作,因为FUN不知道"x"是什么.有没有办法告诉申请以"x"作为当前行/ col来调用FUN?`
Jos*_*ich 31
你想要的apply(data,1,FUN,parameter=1).注意...函数定义:
> args(apply)
function (X, MARGIN, FUN, ...)
NULL
Run Code Online (Sandbox Code Playgroud)
以及文档中的相应条目:
...:'FUN'的可选参数.
Cha*_*ase 17
你可以在调用中创建一个匿名函数,apply以便FUN知道"x"是什么:
apply(data, 1, function(x) FUN(x, parameter = 1))
Run Code Online (Sandbox Code Playgroud)
请参阅?apply底部使用此方法的示例.