我在办公室工作,其中SQL Server是我们所做的一切工作的骨干,从数据处理到清理再到处理。我的同事擅长编写复杂的功能和存储过程,以系统地处理传入的数据,以便可以对其进行标准化并将其用于报告,可视化和分析项目中。在这里开始之前,除了编写最基本的查询之外,我对SQL的了解很少。我的大部分分析准备工作都是在R中完成的。我的老板坚持说我提高了我的SQL技能,尽管似乎很少有分配工作无法更有效地完成,并且使用R编写的代码行少得多软件包,例如dplyr,data.table和tidyr(仅举几例)。我的问题是-这有意义吗?
几周前,我发现自己面临的任务是获取满足特定条件的表中每一行的列名列表,然后将它们连接成字符串向量。截止日期很紧,当时我遇到了一些障碍,无法完全解决这个问题。我问我的老板,后者又请我的同事编写脚本TSQL来解决问题。当他在研究它时,我想出了一种方法来用R编写一个相当简单的函数并将其应用于数据框。大约两个小时后,我的同事带着他的剧本回来了。至少有75行包含两个嵌套的for循环。我要求他告诉它何时完成运行,他说这需要几个小时。同时,我的R脚本能够在约30秒内循环遍历约45,000条记录。
我是否应该认为R是用于清理和处理数据的更好选择?也许我办公室里的SQL开发人员只是无能为力?我很好奇,是否同时使用R和SQL(或Python和SQL)的人对此有任何想法。