Я пытаюсь вычислить ассортативность моей сети для разных атрибутов вершин. Однако каждый раз, когда я хочу вычислить assortativity_nominal () , появляется фатальная ошибка и R завершается. Что забавно, так это то, что у меня тоже есть та же самая переменная, которая представлена как числовая, и выполнение метода assortativity () дает мне вывод. Я просто хочу знать, возвращают ли оба метода один и тот же коэффициент. В целом моя сеть характеризуется отсутствием некоторых значений в некоторых функциях, но я заменил эти значения на фиксированное значение.
V(myGraph)$class[is.nan(V(myGraph)$class)] <- 99
V(myGraph)$argmax_column[is.na(V(myGraph)$argmax_column)] <- "p99"
V(myGraph)$argmax_column[V(myGraph)$argmax_column == ""] <- "p99"
unique(V(myGraph)$class)
[1] 2 1 0 99
unique(V(myGraph)$argmax_column)
[1] "p1" "p2" "p3" "p99"
Другая проблема заключается в том, что мне нужно преобразовать V (myGraph) $ argmax_column в множитель, иначе R будет прерван.
> assortativity(myGraph, V(myGraph)$class, directed=T)
[1] 0.01432427
> assortativity_nominal(myGraph, V(myGraph)$argmax_column, directed=T)
[1] FATAL ERROR - R TERMINATES
Я также преобразовал переменную как фактор, но тогда порядок отличается / не равен числовому признаку и будет возвращать другие результаты для тех же данных.
> assortativity_nominal(myGraph, as.factor(V(myGraph)$argmax_column), directed=T)
[1] 0.0371235
Я имею в виду, что вычисление для коэффициента ассортативности должно быть одинаковым даже для номинальных или числовых значений, потому что оба признака равны по своему значению (те же значения, только другие типы данных).