1
私はsparklyrのspark_applyによって呼び出される関数に余分な変数を渡すことができるようにしたいと思います。spark_apply()で呼び出された関数に変数を渡す方法は?
たとえば、次のように醜い回避策として
# setup
library(sparklyr)
sc <- spark_connect(master='local', packages=TRUE)
iris2 <- iris[,1:(ncol(iris) - 1)]
df1 <- sdf_copy_to(sc, iris2, repartition=5, overwrite=T)
# This works fine
res <- spark_apply(df1, function(x) kmeans(x, 3)$centers)
# This does not
k <- 3
res <- spark_apply(df1, function(x) kmeans(x, k)$centers)
、私はRのパッケージに値を保存し、それらを参照することで、私がやりたいことができます。すなわち
> myPackage::k_equals_three == 3
[1] TRUE
# This also works
res <- spark_apply(df1, function(x) kmeans(x, myPackage::k_equals_three)$centers)
もっと良い方法がありますか?