如何传递一些" x"函数的参数,该函数对data.frame进行子集化并获得" x" data.frames?

时间:2015-04-29 09:26:01

标签: r function dataframe mapply

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

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

该功能如下所示:

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个潜在组合。 我的目标是使用我在函数中在&#34; varoptions.grid&#34;中获得的所有参数值组合。结果应该是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的工作方式缺乏了解,或者我正在使用错误的过程来解决我的问题。

如果你对如何解决这个问题有一些意见,我会更加赞赏!这是我在这个问题上遇到的第3天:(

非常感谢你的时间!

0 个答案:

没有答案