0
Rライブラリpurrrとdplyrの理解を深めるために、別のモデルとデータセットの分割を使用してHadley Wickhamで記述されている例を試しています。しかし、私は、複数の引数を使用するとき強制的なエラーに遭遇します。 purrrを使用してモデルを生成する強制エラー。
は、私が使って試してみて、私が間違っているつもりどこ突き止めるために、私のソフトウェアを単純化しています(リスト)オブジェクトが「整数」を入力する強制的することができません
:MAP2()とPMAPを()を使用して、次
library(dplyr) library(purrr) library(randomForest) # generate a list of data frames (using the iris data set) data_list <- lapply(1:10, FUN = function(x) iris) # generate a list of parameters: param_list <- as.list(seq.int(100,1000, by = 100)) # - following works models <- data_list %>% map(~randomForest(Species ~., data = .)) # - following works models <- seq_along(param_list) %>% map(~randomForest(Species ~., data = data_list[[.]], ntree = param_list[[.]])) # - following has error: Error in randomForest.default(m, y, ...) : # (list) object cannot be coerced to type 'integer' models <- map2(data_list, param_list, ~randomForest(Species ~., data = ., ntree = .))
私はので、私はおそらく、任意の助けので感謝してリスト、データフレームなどで混乱しています数日間、この問題で苦労されています。あなたが[OK]をする必要があり
私がmap2()で実装したソリューションをありがとう、それは動作します。他の関連する質問を申し訳ありませんが、3番目のリストを追加するとmtry_list < - list(2,2,2,2,2,3,3,3,3,3)を上記に置き、pmap()を使用します:models < - pmap(list(data_list、param_list、mtry_list) 、〜randomForest(Species〜。、data = .x、ntree = .y、mtry =。)) - なぜ「。第3引数として ".z"とは言わない? – David
私は興味をそそられており、なぜこれが(私が私の側で確認した)働くのか分からない。私はこの問題をhttps://github.com/tidyverse/purrr/issues/203に見ましたが、疑わしい時には、通常の無名関数の構文を使用することをお勧めします。 –
@Davidこれがあなたの質問に答えた場合、それを受け入れられたとマークしてください。 –