1
Je sais comment utiliser le package igraph dans R pour obtenir des composants connectés dans deux colonnes dans l'ensemble de données.Comment ajouter l'ID de cluster à chaque composant (igraph)
ensemble de données
library(data.table)
df = fread(
"rn A B
1: 11 6
2: 12 6
3: 11 7
4: 13 2
5: 12 7
6: 12 8
7: 17 2
8: 13 1")[, rn := NULL][]
library(igraph)
g = graph_from_data_frame(df)
cluster = clusters(g)
list = groups(cluster)
Ce que je veux faire ensuite est d'attribuer l'ID du cluster à chaque composant connecté .
A B ID
1: 11 6 1
2: 12 6 1
3: 11 7 1
4: 13 2 2
5: 12 7 1
6: 12 8 1
7: 17 2 2
8: 13 1 2
J'espère que cela a du sens. Merci
De même, pourrait mettre la relation d'appartenance à une table et "update join" dessus: 'memDT = data.table (id = as.integer (noms (cluster $ mem)), g = as.integer (cluster $ mem)); df [memDT, on =. (A = id), g: = i.g] ' – Frank
Fait sens. Merci. – symphony