R中使用sparklyr spark_apply的匿名函数

时间:2018-11-09 17:07:17

标签: r dplyr

我正在尝试使用来自library(sparklyr)的spark_apply()函数,我正在使用spark_apply()函数,因为sparklyr软件包不支持使用子集。对于在以下dplyr语法中需要在何处包含函数,我有些困惑。

这是我尝试使用匿名函数修改的原始语法(我不是100%的名词)

match_cat3 <- match_cat2 %>%
          group_by(VarE, VarF) %>%
          mutate(Var_G = if(any(Var_C ==1)) ((VarG - VarG[Var_C == 
1])/(Var_G + Var_G[Var_C == 1])/2) else NA)

这是我尝试将spark_apply()函数与上面的mutate方程一起使用的尝试。我希望获得有关如何使用function(e)以及e在语法中的位置的帮助。我没有在其他函数中使用像这样的任何经验。

match_cat3 <- spark_apply(
                    function(e)
                    match_cat2 %>%
                    group_by(e$VarE, e$VarF) %>%
                    mutate(e$Var_G = if(any(e$Var_C ==1)) ((e$VarG - 
e$VarG[e$Var_C == 1])/(e$Var_G + e$Var_G[e$Var_C == 1])/2) else NA, e)
)

``` 这给了我一个越界错误。

我将语法基于spark_apply()文档中的以下代码块。

trees_tbl %>%
spark_apply(
function(e) data.frame(2.54 * e$Girth, e),
names = c("Girth(cm)", colnames(trees)))

谢谢!

0 个答案:

没有答案