Valor cumulativo de um atributo de borda ou nó ao descer um objeto igraph
eu tenho umigraph
objetog
feito de dataframedf
:
df <- data.frame(c(0,1,2,2,4), c(1,2,3,4,5), c(0.01, 0.03, 0.05, 0.01, 0.02))
colnames(df) <- c('parent_id', 'id', 'dt')
g <- graph_from_data_frame(df)
As arestas são feitas entreparent_id
eid
.
> g
IGRAPH DN-- 6 5 --
+ attr: name (v/c), dt (e/n)
+ edges (vertex names):
[1] 0->1 1->2 2->3 2->4 4->5
Mudança na espessuradt
é o atributo de borda. Isso pode ser pensado como a mudança na espessura entre um iceberg 'pai' e 'filho' (este é o meu problema / projeto).
list.edge.attributes(g)
[1] "dt"
Vizualizar:
plot(g, edge.label=E(g)$dt)
Exemplo de nós e atributo de borda'dt'
Preciso encontrar a soma acumulada dedt
em cada nó enquanto desce de pai para filho.
Ao pensar em termos de nós 'ancestral', 'pai' e 'filho', isso é equivalente a obter a soma cumulativa dedt
para todos os ancestrais em cada nó 'filho'.
Cumulativodt
atribuído como atributo de borda, exemplo de resultado antecipado
Tudo bem se esses valores cumulativos forem atribuídos como novos atributos de nó ou borda, ou outra forma de saída.
Eu tentei 1) onetwork.aggregate
função noRNewsflow
pacote & 2) oaggregate
função nodata.tree
pacote.
Agradecemos antecipadamente pelo interesse e ajuda.