gpt4 book ai didi

sql - PROC SQL 和 sqldf 的区别

转载 作者:行者123 更新时间:2023-12-04 21:20:56 29 4
gpt4 key购买 nike

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

SAS:

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:
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 系统之间的差异。

最佳答案

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

关于sql - PROC SQL 和 sqldf 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784115/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com