Isso é provavelmente devido ao dbplyr não ter traduções definidas para converter
na.omit
ou str_count
em postgresql (uma tradução para paste
é provavelmente definido). Você pode substituir
str_count
e na.omit
verificando anteriormente os valores ausentes. st2tm %>%
mutate(
p1 = lag(pid),
p2 = lead(pid)
) %>%
filter(!is.na(p1),
!is.na(p2)) %>%
mutate(g = paste(p1, ",", pid, ",", p2)) %>%
select(-c(p1, p2)) %>%
E se
paste
é o problema que você pode substituí-lo pelo CONCAT
embutido do postgresql função. st2tm %>%
mutate(
p1 = lag(pid),
p2 = lead(pid)
) %>%
filter(!is.na(p1),
!is.na(p2)) %>%
mutate(g = CONCAT(p1, ",", pid, ",", p2)) %>%
select(-c(p1, p2)) %>%
Porque
CONCAT
não for uma função R, o dbplyr irá passá-la como escrita para o postgresql ao invés de tentar traduzi-la.