Dies liegt höchstwahrscheinlich daran, dass dbplyr keine Übersetzungen zum Konvertieren von na.omit
definiert hat oder str_count
in postgresql (eine Übersetzung für paste
ist höchstwahrscheinlich definiert).
Sie können str_count
ersetzen und na.omit
indem Sie früher nach fehlenden Werten suchen.
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)) %>%
Und wenn paste
ist das Problem, dass Sie es durch den integrierten CONCAT
von postgresql ersetzen könnten Funktion.
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)) %>%
Denn CONCAT
keine R-Funktion ist, wird dbplyr sie wie geschrieben an postgresql übergeben, anstatt zu versuchen, sie zu übersetzen.