我试图应用一个接受多个输入(此列根据当前问题而变化)的函数,并将其应用于数据帧列表。我从此示例中获取了以下代码:Map with Purrr multiple dataframes and have those modified dataframes as the output,并对其进行了修改,以包括我选择的另一个度量标准(“选择”)。但是,此代码将引发错误“ .f(.x [[i]],...)中的错误:未使用的参数(choice =“ disp”))”。
理想情况下,我希望能够创建一个分组的数据框(使用group_by或split()并将一个函数应用于该数据框内的不同组,但是尚无法解决此问题。而是数据帧列表。
mtcars2 <- mtcars
#change one variable just to distinguish them
mtcars2$mpg <- mtcars2$mpg / 2
#create the list
dflist <- list(mtcars,mtcars2)
#then, a simple function example
my_fun <- function(x)
{x <- x %>%
summarise(`sum of mpg` = sum(mpg),
`sum of cyl` = sum(cyl),
`sum of choice` = sum(choice))}
#then, using map, this works and prints the desired results
list_results <- map(dflist,my_fun, choice= "disp")
答案 0 :(得分:3)
修复以上代码的三件事:
RoomDatabase_Impl
作为参数。choice
来使函数具有输出因此,编辑后的代码如下:
x <-
如果您希望停留在数据框/小节内,则使用nest
创建list-columns可能会有所帮助。
my_fun <- function(x, choice)
{x %>%
summarise(`sum of mpg` = sum(mpg),
`sum of cyl` = sum(cyl),
`sum of choice` = sum(!!choice))}
list_results <- map(dflist, my_fun, choice = quo(disp))