我有这样的数据集:
Primary col1 col2
nex1 nex2 nex3
nex2 nex1 nex3
nex3 nex1 nex2
我想为每个rowxcol组合循环遍历此数据集并计算所有情况,例如其中(nex1> = 1和nex2> = 1)在包含这些nex1-nex3000变量的另一个数据集(data_y)中。然后移动到第二种情况(data_x),其中(nex1> = 1且nex3> = 1)直到行结束。 现在转到第二行并重复,直到行尾。所以data_x只是为了得到所有可能的情况。我想从另一个数据集data_y
获取这些案例的计数Data_y是这样的:
nex1 nex2 nex3.....nex3000
1 0 1 3
0 0 0 0
3 1 0 1
1 2 1 0
0 0 1 0
因此,最终数据集将具有这些情况的计数(每个情况来自datax用于rowxcol组合)。
col1 col2...
2 2
2 1
2 1...
所以伪代码是这样的:
for each primary in data_x:
for each col in data_x:
select count(*) from data_y where &primary_val>=1 and &col_val>=1
示例第一种情况:
first primary in data_x(is nex1):
first col in data_x(nex2):
select count(*) from data_y where nex1>=1 and nex2>=1
这为输出数据集col1:2中的第一种情况生成(data_y中有2种情况,其中满足第一个主x col条件)