Stata中的输入输出表

Stata中的输入输出表,stata,Stata,我有一个数据集,它显示我的一家公司是否使用了j公司的投入来生产一些商品。有两个变量:公司和供应商。这两个变量都是公司的唯一标识符。以下是一个例子: clear input float(firm supplier) 1 2 2 3 4 5 end 在Stata中是否有一种生成输入输出矩阵的有效方法?更具体地说,我需要一个方阵,如果公司I(行)由公司j(列)提供,则在位置(I,j)显示1,否则显示0。对于上面的示例,该表应如下所示,其中行和列是从1到5的公司ID: 0 1 0 0 0 0 0 1

我有一个数据集,它显示我的一家公司是否使用了j公司的投入来生产一些商品。有两个变量:公司和供应商。这两个变量都是公司的唯一标识符。以下是一个例子:

clear
input float(firm supplier)
1 2
2 3
4 5
end
在Stata中是否有一种生成输入输出矩阵的有效方法?更具体地说,我需要一个方阵,如果公司I(行)由公司j(列)提供,则在位置(I,j)显示1,否则显示0。对于上面的示例,该表应如下所示,其中行和列是从1到5的公司ID:

0 1 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 1
0 0 0 0 0

这是一个非常幼稚的算法,但它可以工作

clear
input float(firm supplier)
1 2
2 3
4 5
end

mat J = J(5,5,0) 

forval obs = 1/`=_N' { 
   local i = firm[`obs'] 
   local j = supplier[`obs'] 
   matrix J[`i', `j'] = 1 
} 

mat li J 

J[5,5]
    c1  c2  c3  c4  c5
r1   0   1   0   0   0
r2   0   0   1   0   0
r3   0   0   0   0   0
r4   0   0   0   0   1
r5   0   0   0   0   0

我纠正了打字错误。对不起。你真的需要矩阵吗?例如,你想计算特征值吗?它有多大?方阵的尺寸只有300左右。是的,我需要矩阵。很好。谢谢你的快速回复,尼克!