Добавить именованный вектор в атрибут - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю с igraph и хотел бы присвоить именованный вектор атрибуту вершины моего графа следующим образом:

library(igraph)

test.graph <- graph.famous('bull')
test.vec <- c(0,0,0)
names(test.vec) <- c('a','b','c')
V(test.graph)[1]$test.attr <- test.vec

Однако я каждый раз получаю предупреждение, говоря:

Предупреждающее сообщение: В vattrs [[name]] [index] <- значение: количество заменяемых элементов не кратно длине замены </p>

Как можно назначитьэтот вектор к атрибуту?

1 Ответ

0 голосов
/ 04 декабря 2018

Как я понимаю, вы хотели присвоить test.vec в качестве атрибута только первой вершине .Однако не похоже, что разрешено устанавливать вектор как атрибут вершины.Но мы можем назначить список:

V(test.graph)[1]$test.attr <- list(test.vec)

или

(test.graph <- set.vertex.attribute(test.graph, "test.attr", 
                                    index = 1, list(test.vec)))
# IGRAPH ade745b U--- 5 5 -- Bull
# + attr: name (g/c), test.attr (v/x)
# + edges from ade745b:
# [1] 1--2 1--3 2--3 2--4 3--5

Проверка:

get.vertex.attribute(z, "test.attr")
# [[1]]
# a b c 
# 0 0 0 
#
# [[2]]
# NULL
#
# [[3]]
# NULL
#
# [[4]]
# NULL
#
# [[5]]
# NULL
...