You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Nicola Crane (Jira)" <ji...@apache.org> on 2022/10/12 08:19:00 UTC
[jira] [Updated] (ARROW-17948) [R] arrow_eval user-defined generic functions
[ https://issues.apache.org/jira/browse/ARROW-17948?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicola Crane updated ARROW-17948:
---------------------------------
Description:
ARROW-14071 and ARROW-16444 cover evaluating user-defined functions in different ways, but could we extend this behaviour so it be possible to evaluate generics? Here's an example of how that works in dplyr from a [Stack Overflow question|https://stackoverflow.com/questions/73950714/is-it-possible-to-use-generics-in-apache-arrow]:
{code:r}
library(dplyr)
df <- data.frame(a = c("these", "are", "some", "strings"),
b = 1:4)
boop <- function(x, ...) UseMethod("boop", x)
boop.numeric <- function(x) mean(x, na.rm = TRUE)
boop.character <- function(x) mean(nchar(x), na.rm =TRUE )
df %>% summarise(across(everything(), boop))
{code}
was:
ARROW-14071 covers evaluating user-defined functions, but once this is implemented, would it be possible to evaluate generics? Here's an example of how that works in dplyr from a [Stack Overflow question|https://stackoverflow.com/questions/73950714/is-it-possible-to-use-generics-in-apache-arrow]:
{code:r}
library(dplyr)
df <- data.frame(a = c("these", "are", "some", "strings"),
b = 1:4)
boop <- function(x, ...) UseMethod("boop", x)
boop.numeric <- function(x) mean(x, na.rm = TRUE)
boop.character <- function(x) mean(nchar(x), na.rm =TRUE )
df %>% summarise(across(everything(), boop))
{code}
> [R] arrow_eval user-defined generic functions
> -----------------------------------------------
>
> Key: ARROW-17948
> URL: https://issues.apache.org/jira/browse/ARROW-17948
> Project: Apache Arrow
> Issue Type: Improvement
> Components: R
> Reporter: Nicola Crane
> Priority: Major
>
> ARROW-14071 and ARROW-16444 cover evaluating user-defined functions in different ways, but could we extend this behaviour so it be possible to evaluate generics? Here's an example of how that works in dplyr from a [Stack Overflow question|https://stackoverflow.com/questions/73950714/is-it-possible-to-use-generics-in-apache-arrow]:
> {code:r}
> library(dplyr)
> df <- data.frame(a = c("these", "are", "some", "strings"),
> b = 1:4)
> boop <- function(x, ...) UseMethod("boop", x)
> boop.numeric <- function(x) mean(x, na.rm = TRUE)
> boop.character <- function(x) mean(nchar(x), na.rm =TRUE )
> df %>% summarise(across(everything(), boop))
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)