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

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

但是我说Error in paste(A, B, collapse = "_") : object 'A' not found时出错。 dplyr的paste的翻译是什么?

我试过了:
> 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的错误。有什么想法吗?

最佳答案

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

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

关于sql - dplyr将列一起粘贴到远程数据库中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35931533/

10-12 19:11