【发布时间】:2014-04-30 02:21:42
【问题描述】:
我有一份个人、慈善机构和年份的清单。我试图找出在给定的慈善机构和年份中个人i 与个人j 重叠的次数。我想为每年制作一个方阵,并让任何给定的单元格告诉我重叠的数量。
数据示例:
Individual Year Charity
1 2003 A
2 2003 A
2 2003 B
2 2005 A
... ... ...
17 2003 A
17 2003 B
2003 年通缉结果(每年):
Individual Individual_1 Individual_2 ... Individual_17
1 . 1 1
2 1 . 2
... ... ... ...
17 1 2 .
我听说 R 最适合网络数据,但现在使用 Stata,我为每个人创建了一个变量,然后我运行了一个 if statement,它在[_n+x] 单元格中查找给定中的个人列并放置一个。然后我将汇总这些数据。这似乎有效,但非常耗时,我确信可能会出现错误。
qui forval j = 1/1750 {
gen individual_`j'= 0
}
qui forval j = 1/1750 {
replace individual_`j' = 1 if individual[_n+`j'] == 1 & year == 2002 & charity == "A"
}
qui forval j = 1/1750 {
replace individual_`j' = 1 if individual[_n+`j'] == 1 & year == 2003 & charity == "A"
}
qui forval j = 1/1750 {
replace individual_`j' = 1 if individual[_n+`j'] == 1 & year == 2004 & charity == "A"
}
qui forval j = 1/1750 {
replace individual_`j' = 1 if individual[_n+`j'] == 1 & year == 2005 & charity == "A"
}
然后我会总结每个慈善机构。数据太多,这种蛮力无法工作,希望有更简单的方法。
我愿意在 Stata 之外这样做。
【问题讨论】:
-
“个人
i与个人j重叠多少次”到底是什么意思?您能否发布一个具有代表性的初始数据示例、您希望它的外观以及对它们的链接的描述? (您是否缺少单个大括号或者那些应该是嵌套循环?) -
@RobertoFerrer 这是一个错字,我添加了数据并想要结果
-
您是否正在尝试构建每年通过慈善机构联系的个人的社会矩阵(或社交图)?
-
@GaryWeissman 是的,按年计算。如果这可以是一个很棒的矩阵,但我认为它必须是每年一个。
标签: r matrix social-networking stata