1

異なるデータセットを取得するために、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 の仕組みを理解していないか、問題を解決するために間違ったプロセスを使用していると思います。

これを解決する方法について何らかの意見があれば、私は大いに感謝します!, これは、この問題で立ち往生している私の3日目です:(

お時間をいただきありがとうございました!

4

0 に答える 0