Ini kemungkinan besar karena dbplyr tidak memiliki terjemahan yang ditentukan untuk mengonversi na.omit
atau str_count
ke dalam postgresql (terjemahan untuk paste
kemungkinan besar ditentukan).
Anda dapat mengganti str_count
dan na.omit
dengan memeriksa sebelumnya untuk nilai yang hilang.
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)) %>%
Dan jika paste
apakah masalahnya Anda bisa menggantinya dengan CONCAT
. bawaan postgresql fungsi.
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)) %>%
Karena CONCAT
bukan fungsi R, dbplyr akan meneruskannya seperti yang tertulis ke postgresql daripada mencoba menerjemahkannya.