依旧是无向图关键节点问题,此方案使用一次性计算权重,排序输出,胜在运算快,避免循环。
权重计算公式:节点权重=节点度+直接关联节点的度
权重计算比较粗糙,仅为试水,并为后面的方案做铺垫。
library(dplyr)
library(RMySQL) # 载入RMySQL包
conn <- dbConnect(MySQL(),dbname = "NETWORKS",username = "root") # 建立数据库连接
dbSendQuery(conn, "SET @@sql_mode=ANSI;") # 启动非严格模式
dbSendQuery(conn, "SET NAMES GBK") # win7环境下如果汉字乱码,就运行这条命令
res <- dbSendQuery(conn, "SELECT * FROM NODEWeight1 ORDER BY nodeID")
dat <- dbFetch(res, n=-1) #n=-1表示取所有数据,n=2表示取2条数据
res1 <- dbSendQuery(conn, "SELECT * FROM NODEMap1 ORDER BY nodeID2")
dat1 <- dbFetch(res1, n=-1) #n=-1表示取所有数据,n=2表示取2条数据
#关联数据
C <- merge(dat1, dat, by.x = "nodeID2", by.y = "nodeID",all.x=TRUE)[,c(2,1,4)]
#group by
planes &l