2
sd()
をスパークデータフレーム内の単一の値に(Rのスパークルパッケージを介して)適用すると、それに基づいてフィルタリングできない欠損値欠損値。sparklyrは、単一の値で `sd`の欠損値をフィルタリングできません
誰かがこれを説明して良い解決策を提供できますか?
以下の例。
library(sparklyr)
library(dplyr)
sc <- spark_connect(master = "local")
#> * Using Spark: 2.1.0
x <- data.frame(grp = c("a", "a", "c"), x = c(1, 2, 3))
copy_to(sc, x, "tmp", overwrite = TRUE)
#> # Source: table<tmp> [?? x 2]
#> # Database: spark_connection
#> grp x
#> <chr> <dbl>
#> 1 a 1
#> 2 a 2
#> 3 c 3
x_tbl <- tbl(sc, "tmp") %>% group_by(grp) %>% mutate(x_sd = sd(x))
x_tbl
#> # Source: lazy query [?? x 3]
#> # Database: spark_connection
#> # Groups: grp
#> grp x x_sd
#> <chr> <dbl> <dbl>
#> 1 a 1 0.7071068
#> 2 a 2 0.7071068
#> 3 c 3 NaN
x_tbl %>% filter(!is.na(x_sd)) %>% collect()
#> # A tibble: 3 x 3
#> # Groups: grp [2]
#> grp x x_sd
#> <chr> <dbl> <dbl>
#> 1 a 1 0.7071068
#> 2 a 2 0.7071068
#> 3 c 3 NaN