Неправильный расчет сортировки в игре - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь вычислить ассортативность моей сети для разных атрибутов вершин. Однако каждый раз, когда я хочу вычислить 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

Я имею в виду, что вычисление для коэффициента ассортативности должно быть одинаковым даже для номинальных или числовых значений, потому что оба признака равны по своему значению (те же значения, только другие типы данных).

...