我有一个家庭中某个变量的"阳性"病例表。我想最终使用R在iGraph中输出一个网络图。我想将每个家庭表示为一个网络,从而表示每个家庭中的积极和消极的人。我的输入数据帧如下:
ID | 结果 | 家庭家庭人数 | |
---|---|---|---|
A | 阳性 | H1 | 2 |
B | 阳性 | H1 | 2 |
C | 阳性 | H2 | 3 |
D | 阳性 | H3 | 2 |
我认为您不需要igraph
来实现目标。以下是data.table
选项
> setDT(df)[, CJ(ID, Interaction = ID), Household][ID != Interaction, c(2, 3, 1)]
ID Interaction Household
1: A B H1
2: B A H1
3: C C1 H2
4: C1 C H2
5: D D1 H3
6: D D2 H3
7: D1 D H3
8: D1 D2 H3
9: D2 D H3
10: D2 D1 H3