[
https://issues.apache.org/jira/browse/ARROW-18244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17628624#comment-17628624
]
Neal Richardson commented on ARROW-18244:
-----------------------------------------
I commented about ifelse on ARROW-18241 with a workaround for the current
version and a suggestion that it should work as you expect in the development
version. If you can install a nightly version of the package and confirm, that
would be great.
{{str_replace}} does work if the replacement is a string, but {{NA}} is
logical, and this fails in regular stringr too:
{code}
> data.frame(x="a") %>% mutate(y = str_replace(x, "a", NA))
Error in `mutate()`:
! Problem while computing `y = str_replace(x, "a", NA)`.
Caused by error:
! `replacement` must be a character vector
Run `rlang::last_error()` to see where the error occurred.
{code}
Use {{NA_character_}} to specify a string.
> [R] `mutate(x2=ifelse(x=='',NA,x))` Error: Function 'if_else' has no kernel
> matching input types
> -------------------------------------------------------------------------------------------------
>
> Key: ARROW-18244
> URL: https://issues.apache.org/jira/browse/ARROW-18244
> Project: Apache Arrow
> Issue Type: Bug
> Reporter: Lucas Mation
> Priority: Major
>
>
> ```
> q <- data.table(x=c('','30111976','01011976'))
> q %>% write_dataset('q')
> q2 <- 'q' %>% open_dataset %>% mutate(x2=ifelse(x=='',NA,x)) %>% collect
> Error in `collect()`:
> ! NotImplemented: Function 'if_else' has no kernel matching input types
> (bool, bool, string)
> Run `rlang::last_error()` to see where the error occurred.
> ```
> In [Functions available in Arrow dplyr
> queries|https://arrow.apache.org/docs/r/reference/acero.html] it is stated
> that ifelse() is available, but the error above suggests otherwise.
> Update, "str_replace" is another function that is supposedly available in
> 10.0.0 but is not (or does not seem to be):
> ```
> q2 <- 'q' %>% open_dataset %>% mutate(x2=x %>% str_replace('',NA)) %>% collect
> Error: Expression x %>% str_replace("", NA) not supported in Arrow
> Call collect() first to pull data into R.
> ```
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)