1

我有一个关于在一个函数中应用不同参数以获得不同数据集的问题。

我创建了一个函数,它根据函数中参数的值获取我的数据并对其进行过滤(我没有编写完整的函数,因为我认为它使我的问题的解释更加复杂)。

该函数看起来像这样:

myfun (type, spp, incl){

    #something that subset the data according to
    # type, spp, incl values, and gives as output 
    # a data frame called datanalyisis

    datanalysis
}

如果我们认为我的函数参数的潜在值是:

type <- c("1", "2", "3", "4")
spp <- c( "Spruce", "Pine","Birch")
incl <- c("no", "yes")
varoptions <- list(type, spp , incl)
varoptions.grid <- expand.grid(varoptions)

我得到所有参数值的 24 个潜在组合。我的目标是在我的函数中使用我在“varoptions.grid”中获得的所有参数值组合。结果应该是 24 个不同的数据集。

我试过这个:

var1 <- as.vector(as.character(varoptions$Var1))
var2 <- as.vector(as.character(varoptions$Var2))
var3 <- as.vector(as.character(varoptions$Var3))

finaldata <- mapply ("myfun", type =.var1, spp = .var2, incl=.var3))

我想我正在获得一个包含所有进程的庞大数组。我相信我对 mapply 的工作原理有一些了解,或者我使用了不正确的过程来解决我的问题。

如果您对如何解决这个问题有一些意见,我会非常感激!,这是我陷入这个问题的第三天 :(

非常感谢您的宝贵时间!

4

0 回答 0