我想根据两列生成索引来分组观察值。但我希望组是由至少共享一个观察值的观察值构成的。
在下面的数据中,我想检查“G1”和“G2”中的值是否直接连接(出现在同一行)或间接通过其他中间值连接。所需的分组变量显示在“g”中。
例如,A直接与Z(第1行)和X(第2行)相关联。A通过X(A->X->B)间接与B相关联,并通过X和B进一步与Y相关联(A->X->B->Y)。
我尝试使用dplyr中的group_indices,但是还没有成功。
在下面的数据中,我想检查“G1”和“G2”中的值是否直接连接(出现在同一行)或间接通过其他中间值连接。所需的分组变量显示在“g”中。
例如,A直接与Z(第1行)和X(第2行)相关联。A通过X(A->X->B)间接与B相关联,并通过X和B进一步与Y相关联(A->X->B->Y)。
dt <- data.frame(id = 1:10,
G1 = c("A","A","B","B","C","C","C","D","E","F"),
G2 = c("Z","X","X","Y","W","V","U","s","T","T"),
g = c(1,1,1,1,2,2,2,3,4,4))
dt
# id G1 G2 g
# 1 1 A Z 1
# 2 2 A X 1
# 3 3 B X 1
# 4 4 B Y 1
# 5 5 C W 2
# 6 6 C V 2
# 7 7 C U 2
# 8 8 D s 3
# 9 9 E T 4
# 10 10 F T 4
我尝试使用dplyr中的group_indices,但是还没有成功。