1

我使用 Notepad++ 进行 R 编码。但是,当我为 R 编写 SQL 查询时:

tt <- "SELECT 
         *
       FROM
         myTable"

Notepadd++ 读取制表符缩进和行返回到 R。所以我得到这样的东西:

tt> "SELECT \n\t\t* \n\t\tFROM \n\t\tmyTable"

当我在较长的函数等中放置换行符时,我看到了类似的东西。

当然,这运行得很好,但是在控制台中真的很难阅读,其他人也想看。有没有办法格式化一些东西,以便在 Notepad++ 中可读,然后当我将它输入到 R 控制台时以某种方式删除返回和选项卡?

4

1 回答 1

0

当我编写要从 R 调用的 SQL 代码(例如在 RODBC 包中)时,我经常在文本编辑器的另一个选项卡中编辑该代码并将其保存到扩展名为 .sql 的文件中。这样,我可以充分利用语法高亮和正确的自动缩进(如果有的话)。您可以使用 readLines 命令将该文件读入 R。

但是,如果出现错误并将代码返回给您,则此代码不会以可读格式打印到控制台。cat您应该使用命令打印错误。

例如,

> con <- odbcConnect(someSqlServer, myUserId, myPassword)
> qry <- sqlQuery(con, '
select 
  nonExistentVars 

from 
  nonExistentTable as A 

inner join 
  otherNonExistentTable as B 

on A.fakeId = B.fakeId
')

> qry ## hard to read
"ERROR blah blah \nselect \n  nonExistentVars \n\nfrom \n  nonExistentTable as A \n\ninner join \n  otherNonExistentTable as B \n\non A.fakeId = B.fakeId\n"

> cat(qry) ## easy to read
ERROR blah blah
select 
  nonExistentVars 

from 
  nonExistentTable as A 

inner join 
  otherNonExistentTable as B 

on A.fakeId = B.fakeId
于 2013-10-24T18:48:38.610 回答