如何使用“sparklyr::replace.na()”替换一列上的 NaN?

Ser*_*ero 0 r dplyr sparklyr

我正在使用 sparklyr 与 spark 交互。我试图仅在一列中替换 NaN 值。

是否可以使用 sparklyr 函数replace.na()但仅将其应用于一列?我检查了文档,但它没有帮助我。

这个问题很相似,但答案会更改整个数据帧中的所有 NaN 值。

zac*_*ack 5

看起来您实际上必须在使用时指定列sparklyr::na.replace()。参见https://github.com/rstudio/sparklyr/issues/127#issuecomment-236318033

例子:

temp <- tibble(
  a = c(1, 2, NA),
  b = c("A", NA, "B")
)

temp_spark <- sdf_copy_to(sc, temp, "temp_spark")

temp_spark %>%
  na.replace()
#  a  | b
#  1  | A
#  2  | NA
# NaN | B

temp_spark %>%
  na.replace(a = 0)
# a | b
# 1 | A
# 2 | NA
# 0 | B

Run Code Online (Sandbox Code Playgroud)