Cela est probablement dû au fait que dbplyr n'a pas de traductions définies pour convertir na.omit
ou str_count
en postgresql (une traduction pour paste
est très probablement défini).
Vous pouvez remplacer str_count
et na.omit
en vérifiant plus tôt les valeurs manquantes.
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)) %>%
Et si paste
est le problème que vous pourriez remplacer par le CONCAT
intégré de postgresql fonction.
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)) %>%
Parce que CONCAT
n'est pas une fonction R, dbplyr la transmettra telle quelle à postgresql plutôt que d'essayer de la traduire.