2

私の単一引数関数はデータフレームを出力します

library(tidyverse) 
myfun <-function(x) {mtcars %>%
                         filter_(x) %>%
                         group_by(cyl) %>%
                         summarise(mean(disp), mean(drat)) %>%
                         mutate(group=x)}

この関数に単一の引数を渡すと、期待どおりにデータフレームが出力されます。

   myfun('mpg>15')

   cyl      mean(disp)   mean(drat)     group
    4       105           4.07          mpg>15
    6       183           3.59          mpg>15
    8       105           3.20          mpg>15

そのような関数を引数のリストに適用して、出力がリストのすべての結果を組み合わせた 1 つのデータフレームになるようにする方法。たとえば、リストに myfun を適用したい

c('mpg>15', 'drat>4.2')

そして、結果として、単一のデータフレームを取得するには:

cyl      mean(disp)   mean(drat)     group
 4       105           4.07          mpg>15
 6       183           3.59          mpg>15
 8       105           3.20          mpg>15
 4       89            4.53          drat>4.2
 8       351           4.22          drat>4.2

それを行う方法(できればtidyverse内)?

4

1 に答える 1