首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PROC SQL与sqldf的区别

PROC SQL与sqldf的区别
EN

Stack Overflow用户
提问于 2012-08-03 03:04:30
回答 2查看 3.1K关注 0票数 5

我正在将我通常使用的SAS程序重写到R中。SAS程序中的许多语句都是用proc sql编写的,所以为了便于编程,我在R中使用sqldf复制这些语句。所有sql代码在sqldf中的工作方式与在SAS中相同,除了下面的语句:

SAS:

代码语言:javascript
复制
proc sql;
create table merged32 as
select max(ctf) as ctf,
       max(ctms) as ctms,
       max(site_name) as site_name,
       provider_id, npi,
       first_name, middle_name, last_name, specialty,
       address_1, city, state, site_ct, zip, site_key
    from merged2
    group by 9,10,11,12,14,15;
quit;
run;

sqldf:

代码语言:javascript
复制
sqldf("select max(ctf) as ctf,
              max(ctms) as ctms,
              max(site_name) as site_name,
              provider_id, npi,
              first_name, middle_name, last_name, specialty,
              address_1, city, state, site_ct, zip, site_key
       from merged2
       group by 9,10,11,12,14,15")

在SAS中,它返回一个有1878行的数据集;在sqldf中,它返回一个有1375行的数据帧。

proc sql和sqldf之间是否有可能导致这种情况的主要差异,或者总体上需要考虑的差异?我没有提供数据,因为1)数据集很大,2)我更感兴趣的是了解两个sql系统之间的差异。

EN

回答 2

Stack Overflow用户

发布于 2012-10-31 02:43:02

不确定sqldf,但为了获得有意义的结果,您应该在SQL中按所有关键变量进行分组。

票数 2
EN

Stack Overflow用户

发布于 2014-01-24 02:03:23

SAS中的结果可能有重复的记录,而R中的结果没有重复的记录

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11784115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档