igraph を使用して、スイッチの問題の結果としてスイッチと影響を受けるネットワークとの関係を表示するのが好きです。多くのインシデントがあるため、上位 10 のスイッチが最も問題が多く、その結果、ネットワークに影響を与えたものであることを示したいと思います。
df
Incident Date Switch ImpactedNetwork
123 1/1/2012 A Wireless
455 1/2/2012 B LocalLan
460 1/3/2012 A LocalLan
465 1/4/2012 A Production
等
スイッチでインシデントが発生するたびに 1 を割り当てるには:
df$count<-c(1)
最も問題のある上位 10 個のスイッチを見つけるには、次のようにします。
library(data.table)
df<-df[, total := sum(count), by = Switch]
df
Incident Date Switch ImpactedNetwork count Total
123 1/1/2012 A Wireless 1 3
455 1/2/2012 B LocalLan 1 1
460 1/3/2012 A LocalLan 1 3
465 1/4/2012 A Production 1 3
この df から、合計に基づいて上位 10 件のインシデントを取得するにはどうすればよいですか?
上位 10 個のスイッチを特定したら、上位にある問題のあるスイッチの ImpactedNetwork の集計数が必要です。
t<-aggregate(count~ImpactedNetwork+Switch, df, sum)
t
ImpactedNework Switch count
Production A 1
Wireless A 1
plot(t, layout = layout.kamada.kawai, vertex.label = V(g)$name, vertex.label.color= "darkblue", edge.arrow.size=0.9, edge.curved=T, edge.label=t$count, edge.label.color="#F900F9", edge.label.font=10,vertex.shape="rectangle",edge.color="darkgreen", main="Top 10 Problematic Switches and Impacted Network"))
アイデアは次のとおりです。
- 最も多くのインシデントで生成されたスイッチを計算する
- 影響を受けるネットワークの数を計算し、結果を Switch 3.Igraph に提供します。
これを 2 つの別々のデータ フレームで実行して、最も多く発生したスイッチを最初に計算する必要がありますか? そして、影響を受けるネットワークの数を計算するための Antho データ フレームは? どんなアイデアでも大歓迎です。