将SQL查询复制粘贴到R中的简便方法

时间:2018-01-22 18:42:15

标签: r

我正在尝试使用odbc将所有数据进程从SQL移到R中,因为这是我进行所有数据清理/分析的地方。在将查询移动到R时,我无法找到一种简单的方法来将字符串复制粘贴为可读格式。假设我在SQL中有以下查询:

SELECT
col1,
sum(col2) sum_col2,
col3

FROM
db.table1 t1

WHERE
col1 > 0
AND col6 BETWEEN .5 AND 1.76

GROUP BY 
col1,
col3

如果我尝试将其分配给R中的querystring变量,我会将其放入paste,但即使这样,我也必须通过并将每行分开逗号,以便正确传递getDBQuery。有没有人找到一种优雅的方法将SQL语法复制并粘贴到R中,不需要太多修复? paste中是否有一个选项允许您忽略新行'\ n',还是可以创建自定义函数?

谢谢

2 个答案:

答案 0 :(得分:1)

正如本杰明在评论中所说,你可以简单地将你的文字放在引号中。例如:

library(sqldf)

df = data.frame(x=c(1,2,3,4,5),y=c(2,2,3,3,3))
my_query = 'SELECT DISTINCT
      y FROM
      df
      where x>3'

df2 <- sqldf(my_query)

答案 1 :(得分:0)

还有一些工具可以通过纯SQL生成适当的Java,C#,VB等语句。刚剪切&amp;糊。 我为此目的编写的格式化程序是SQLinForm,根据您正在处理的环境,它有几个免费的格式化程序。链接是enter link description here