[
https://issues.apache.org/jira/browse/ARROW-16871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17562273#comment-17562273
]
Chris Higgins commented on ARROW-16871:
---------------------------------------
I did a bit of digging into the api_scalar.cc code where I assume the core
arrow functions live, and while there is an entry for
`SCALAR_ARITHMETIC_UNARY(Sqrt, "sqrt", "sqrt_checked")`, there is no explicit
function for `exp` that the `dplyr` binding could call... Unless I am missing
something - this is exceeding my coding skillset!
> [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
>
> 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)