【发布时间】:2017-01-22 19:49:11
【问题描述】:
我在 SAS 工作,试图创建一个条件概率表。
表格的当前结构是:5 列 x 10 行 --> 每个单元格中的值都是二进制的。 Current Data Table
col1 col2 col3 col4 col5
1 0 1 0 0
0 0 0 1 1
0 0 0 0 0
1 0 0 0 0
1 0 0 0 1
0 1 0 0 0
0 1 0 1 0
1 1 1 1 0
1 0 1 0 1
1 0 1 0 0
我想创建一个表格,其中包含每列与其他每列的条件概率。 Ideal Output
--- col1 col2 col3 col4 col5
col1 1.0 0.3 1.0 0.3 0.7
col2 0.2 1.0 0.3 0.7 0.0
col3 0.7 0.3 1.0 0.3 0.3
col4 0.2 0.7 0.3 1.0 0.3
col5 0.3 0.0 0.3 0.3 1.0
这是我正在处理的实际问题的一个更简单的版本(100 行和数百万列,所以我最好有一个可以根据表格大小进行调整的解决方案)。
我一直在处理数组和循环,但还没有走得很远。
我当前的代码如下所示(未完成):
data ideal_output;
set binary_table;
array obs(10,5);
array output(5,5);
do i=1 to 5;
do j=1 to 5;
do k=1 to 10;
do l=1 to 10;
output(m,n) = sum(obs(k,i)*obs(l,j))/sum(obs(k,i));
end;end;end;end;
run;
【问题讨论】:
-
请将您的输入和所需输出表以文本形式而不是图像形式发布,也许有人会看看。
-
谢谢!我只是改变了格式来做到这一点
标签: arrays loops sas probability