Checks whether all elements in an array satisfy a predicate

R/dplyr_hof.R

hof_forall

Description

Checks whether the predicate specified holds for all elements in an array (this is essentially a dplyr wrapper to the forall(expr, pred) higher- order function, which is supported since Spark 3.0)

Usage

 
hof_forall(x, pred, expr = NULL, dest_col = NULL, ...) 

Arguments

Arguments Description
x The Spark data frame to be processed
pred The predicate to test (it should take an array element as argument and return a boolean value)
expr The array being tested, could be any SQL expression evaluating to an array (default: the last column of the Spark data frame)
dest_col Column to store the boolean result (default: expr)
Additional params to dplyr::mutate

Examples

library(sparklyr)
 
 
sc <- spark_connect(master = "local", version = "3.0.0") 
df <- tibble::tibble( 
  x = list(c(1, 2, 3, 4, 5), c(6, 7, 8, 9, 10)), 
  y = list(c(1, 4, 2, 8, 5), c(7, 1, 4, 2, 8)), 
) 
sdf <- sdf_copy_to(sc, df, overwrite = TRUE) 
 
all_positive_tbl <- sdf %>% 
  hof_forall(pred = ~ .x > 0, expr = y, dest_col = all_positive) %>% 
  dplyr::select(all_positive)