これは、tidyverseフレームワークを使用してこれを達成できるかどうか、またどのように達成できるかを理解したいと思います。doを持つ可変数のグループを使用する
以下のリストを考えるとmy_fn <- function(list_char) {
data.frame(comma_separated = rep(paste0(list_char, collapse = ","),2),
second_col = "test",
stringsAsFactors = FALSE)
}
:しかし、我々は変更する場合
my_fn(list_char)
:
list_char <- list(name = "Chris", city = "London", language = "R")
あなたが実行した場合、私の機能が正常に動作し
は、私は、次の簡単な関数を持っていると仮定します文字のベクトルを持つリストの要素のいくつかは、dplyr::do
関数を使用することができます以下を達成するために、次のように:
list_char_mult <- list(name = c("Chris", "Mike"),
city = c("New York", "London"), language = "R")
expand.grid(list_char_mult, stringsAsFactors = FALSE) %>%
tbl_df() %>%
group_by_all() %>%
do(my_fn(list(name = .$name, city = .$city, language = "R")))
質問は、要素の数が可変でリストについては、これを行うことが機能を記述する方法です。例えば:私はあなたの質問を理解していれば
my_fn_generic <- function(list_char_mult) {
expand.grid(list_char_mult, stringsAsFactors = FALSE) %>%
tbl_df() %>%
group_by_all() %>%
do(my_fn(...))
}
おかげ
を使用しています。私は質問を編集して、これが確実に進むことを確認します。混乱の謝罪 – Christos