dplyr将列粘贴到远程DB中

时间:2016-03-11 03:12:12

标签: sql r dplyr paste

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

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

但我收到错误Error in paste(A, B, collapse = "_") : object 'A' not found。什么是dplyr的粘贴翻译?

我试过了:

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

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

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

但使用它也不起作用,错误为Named arguments ignored for SQL PASTE。想法?

1 个答案:

答案 0 :(得分:1)

paste()仅连接由collapse的值分隔的元素列表。由于此处只有一个值,因此正确的方法是使用sep。整个列也在paste()中考虑,因此group_by用于分隔它们。

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