You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2022/06/29 21:55:00 UTC

[jira] [Commented] (ARROW-16871) [R] Implement exp() and sqrt() in Arrow dplyr queries

    [ https://issues.apache.org/jira/browse/ARROW-16871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17560669#comment-17560669 ] 

Neal Richardson commented on ARROW-16871:
-----------------------------------------

[~higgicd] would you like to make a pull request to implement this? I think it will be straightforward if you follow the examples of other function bindings (like https://github.com/apache/arrow/blob/master/r/R/dplyr-funcs-math.R#L71-L74 code and https://github.com/apache/arrow/blob/master/r/tests/testthat/test-dplyr-funcs-math.R tests).

> [R] Implement exp() and sqrt() in Arrow dplyr queries
> -----------------------------------------------------
>
>                 Key: ARROW-16871
>                 URL: https://issues.apache.org/jira/browse/ARROW-16871
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: R
>    Affects Versions: 8.0.0
>         Environment: Windows 10, R 4.2.0, RStudio 2022.02.3 Build 492
>            Reporter: Chris Higgins
>            Priority: Major
>              Labels: good-first-issue
>             Fix For: 9.0.0
>
>
> The change log for v8.0.0 notes that functions like exp(), log() and sqrt() can be used in R. I have been trying to calculate exp(x) on a field in a dataset, but this does not work. I _can_ calculate exp(10) on just some number, and I can raise to e manually (2.71828^(x)). Here's some basic reproducible code:
> {code:java}
> ```{r}
> test_df <- data.frame(x = c(1, 2, 3, 4, 5), y = c(1, 2, 3, 4, 5))
> write_dataset(test_df, "./test_ds")
> test_ds <- open_dataset("./test_ds")
> # does not work
> test_ds %>% mutate(z = exp(x)) %>% collect()
> # does work
> test_ds %>% mutate(z = 2.71828^(x)) %>% collect()
> # also works
> test_ds %>% mutate(z = exp(10)) %>% collect()
> ``` {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)