我有一个数据集,在这个数据集中我需要查看来自另一个组内的所有项目对。我已经在下面创建了一个玩具示例来进一步解释。SAS中的SQL SQL - 所有对项目
BUNCH FRUITS
1 apples
1 bananas
1 mangos
2 apples
3 bananas
3 apples
4 bananas
4 apples
我想要的是所有可能的对的列表,并总结它们在一堆中出现的频率。我的输出在理想情况下是这样的:
FRUIT1 FRUIT2 FREQUENCY
APPLES BANANAS 3
APPLES MANGOS 1
我的最终目标是使东西,我最终能够导入Gephi的网络分析。为此,我需要一个源和目标列(又名FRUIT1和FRUIT2)。
我认为还有其他一些方法来处理这个问题,而不使用PROC SQL(也许使用PROC TRANSPOSE),但这是我开始的地方。
SOLUTION
感谢您的帮助。下面的示例代码有兴趣的人类似的东西:
proc sql;
create table fruit_combo as
select a.FRUIT as FRUIT1, b.FRUIT as FRUIT2, count(*) as FREQUENCY
from FRUITS a, FRUITS b
where a.BUNCH=b.BUNCH and and not a.FRUIT= b.FRUIT
group by FRUIT1, FRUIT2;
quit;
谢谢!这正是我需要做的。 – pmbaumgartner