sql – dplyr将列粘贴到远程DB中

我想使用dplyr在远程数据库中粘贴两列.我尝试过这样的事情:

mydb %>%
    select(A, B) %>%
    mutate(newcol = paste(A, B, collapse = "_"))

但是我收到错误说粘贴错误(A,B,collapse =“_”):找不到对象’A’.什么是dplyr的粘贴翻译?

我试过了:

> translate_sql(paste(x, y, sep = "_"))
<SQL> PASTE("x", "y", '_' AS "sep")

所以我插入了这个语法来尝试:

mydb %>%
    select(A, B) %>%
    mutate(newcol = PASTE("A", "B", "_" AS "sep"))

但是使用它也不起作用,并且SQL PASTE忽略了Named参数的错误.思考?

最佳答案 paste()仅连接由collapse的值分隔的元素列表.因为这里只有一个值,所以正确的方法是使用sep.整个列也在paste()中考虑,因此group_by用于分隔它们.

mydb %>%
    group_by(A, B) %>%
    mutate(newcol = paste(A, B, sep = "_"))
点赞