Мне нужна помощь в моделировании данных с несколькими столбцами. У меня есть .csv-файл. У меня есть список лиц, их возраст, пол, место и болезни, от которых они страдают. Я нарисовал двудольный график человека с заболеваниями. Как я могу узнать возраст, пол и местоположение на двудольном графике с помощью igraph? Я пробовал код ниже, но для создания сети требуется всего 2 столбца csv. Может ли кто-нибудь помочь, как читать атрибут человека, как возраст, пол и местоположение в этом случае?Как смоделировать различные типы различных узлов с использованием R (igraph) или python?
Person Diseases Age gender location
Person1 Asthma 25 Female Location1
Person2 Pneumonia 35 Male Location2
Person3 Typhoid 40 Male Location3
getwd()
datafile <- "/d.csv"
d_el <- read.csv(datafile)
d_el <- d_el[, 1:4 ]
head(d_el)
library(igraph)
g <- graph.data.frame(d_el, directed = FALSE)
plot(g, layout = pref.layout,
vertex.color="black"
)
Я использовал эту строку кодов. есть ли вывод, что?
V(g)$Person<- d_el$Person
V(g)$location<- d_el$location
V(g)$location[which(V(g)$Person %in% neighbors(g, "TB"))]
Я добавил такие атрибуты, но как это может сказаться, что человек с именем jane имеет возраст 36, анализируя двудольную сеть людей с заболеваниями? – student123
Не уверен, что вы хотите на 100%. Вы можете извлекать атрибуты индивидов по этой болезни, создавая окрестности, основанные на этом заболевании (так что все люди имеют это) и извлекают интересующие атрибуты: 'V (g) $ gender [который (V (g) $ name% in % соседей (g, «Астма»))]. Но для этого типа анализа вам не нужна сеть. Что именно вы хотите? Пример поможет. – paqmo
Вы можете изменить цвет, размер и форму узла, чтобы отразить разные возрасты и гендерные группы, чтобы визуально проверить эти вещи. – paqmo