Dit komt waarschijnlijk doordat dbplyr geen vertalingen heeft gedefinieerd voor het converteren van na.omit
of str_count
in postgresql (een vertaling voor paste
is het meest waarschijnlijk gedefinieerd).
U kunt str_count
replace vervangen en na.omit
door eerder te controleren op ontbrekende waarden.
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)) %>%
En als paste
is het probleem dat je het zou kunnen vervangen door postgresql's ingebouwde CONCAT
functie.
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)) %>%
Omdat CONCAT
is geen R-functie, dbplyr zal het doorgeven als geschreven naar postgresql in plaats van te proberen het te vertalen.