Я вычислил статистику централизации для некоторых сетевых данных в igraph, и мне нужна помощь с двумя вещами (я думаю).
Сначала , я хочу переместить имя вершины (V(g)$name
) и новую меру централизации, которую я вычислил ((V(g)$eigen
) из igraph в кадр данных.
Это первая строка из $names
и $eigen
в моем графике.
$names: year young head black cent call
$eigen: 0.043284327 0.017877101 0.015949110 0.022489540 0.047533029 0.035666735
Я придумал приведенный ниже код, но он только тянет вершинуимена, не включая статистику (V(g)$eigen
, которую я вычислил.
Секунда , как только у меня есть оба столбца в кадре данных, я бы хотел, чтобы кадр данных сортировался по статистике (V(g)$eigen
, при этом самые большие значения отображаются вверху.
#assigning eigenvector value to vertices
V(subnet)$eigen = eigen_centrality(subnet, weights = E(subnet)$weight)
#export two-column vector (vertex name, centrality)
subnet_matrix <- as.matrix(c(V(subnet)$name), V(subnet)$eigen)
#create new data frame with just those two columns
subnet_df = as.data.frame(subnet_matrix)
#sort df by the centrality value (biggest at top)
sort.list(subnet_df$eigen)
То, что я хочу, чтобы это выглядело так (в кадре данных):
NAME EIGEN
cent 0.047533029
year 0.043284327
call 0.035666735
black 0.022489540
young 0.017877101
head 0.015949110
Любая помощь будет принята с благодарностью. Я новичок в R и программировании в целом, поэтому я слишком долго застрял на этом.