これは、dbplyrにna.omit
を変換するための変換が定義されていないことが原因である可能性があります。 またはstr_count
postgresqlに(paste
の翻訳 定義されている可能性が最も高いです。
str_count
を置き換えることができます およびna.omit
欠落している値がないか以前に確認します。
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)) %>%
そしてpaste
の場合 これは、postgresqlの組み込みのCONCAT
に置き換えることができる問題です。 機能。
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)) %>%
CONCAT
はR関数ではないため、dbplyrは、変換を試みるのではなく、postgresqlに書き込まれたとおりに渡します。