我在Stata中有一个网络数据集,我需要为其创建边缘列表。我知道如何使用Python或任何脚本语言创建边缘列表,但我是在一个无法访问Python的受限帐户上。数据受到限制,因此我无法将其传输到个人计算机,所以我在Stata中坚持这样做。
我想遍历每一列的每一行。如果personInNetwork不是NULL,我想将它写入由两个变量组成的新数据集。第一个变量是id,第二个变量是网络连接。
我不知道如何使用新数据帧,同时将相关数据保存在内存中。我也没有信心迭代行和特定于该记录的列。
编辑:这是一个玩具示例。抱歉格式糟糕。
这是我现在的数据:
id personInNetwork1 personInNetwork2
p1 p3 p2
p2 p1
p3 p1 p4
p4 p3
这就是我需要的样子:
id Connection
p1 p3
p1 p2
p2 p1
p3 p1
p3 p4
p4 p3
答案 0 :(得分:1)
如果我理解您的要求,我认为reshape
就是您所需要的。如果你有隔离物,有些extra sauce is needed。
如果不是这样,我认为如果您按原样提供数据的玩具示例和所需的输出,将会有所帮助。
答案 1 :(得分:0)
我对此主题一无所知,但您可以查看Jennifer Earl's web page。在页面底部附近有一个标题为"从Pajek转换边缘列表"的部分。它包含Stata命令和随附的帮助文件的链接。