1
私はsplit-apply-combineを行う関数を作成しようとしています。 s)がパラメータであり、 - 重要なことに、ヌル分割が許容される。たとえば、データのサブセットまたはデータセット全体の統計を実行します。巣は、()ではなく1x1のdata.frameに全体のDFを入れ子にするよりも、で巣に変数を必要とするように見えるので、 tidyr :: nest() - > purrr:map()ワークフローをグルーピングなしの特別なケースで動作させるにはvar
somedata=expand.grid(a=1:3,b=1:3)
somefun=function(df_in,grpvars=NULL){
df_in %>% group_by_(.dots=grpvars) %>% nest() %>%
mutate(X2.Resid=map(data,~with(.x,chisq.test(b)$residuals))) %>%
unnest(data,X2.Resid) %>% return()
}
somefun(somedata,"a") # This works
somefun(somedata) # This fails
ヌル条件
は失敗します。次のように私はこの問題を回避することができます。この問題を解決するために、よりエレガントな方法があるかどうsomefun2=function(df_in,grpvars="Dummy"){
df_in$Dummy=1
df_in %>% group_by_(.dots=grpvars) %>% nest() %>%
mutate(X2.Resid=map(data,~with(.x,chisq.test(b)$residuals))) %>%
unnest(data,X2.Resid) %>%
select(-Dummy) %>% return()
}
somefun2(somedata) # This works
はしかし、私はダミーvariabeを必要とせずに、思ったんだけど?