Randomisaties gebruiken om assortativiteit te beoordelen
In deze oefening bepaal je hoe waarschijnlijk de geobserveerde assortativiteit in het vriendschapsnetwerk is, gegeven de geslachten van de vertices, door een randomisatieprocedure uit te voeren. Je permuteert het geslacht van de vertices in het netwerk 1000 keer willekeurig en berekent de assortativiteit voor elk willekeurig netwerk opnieuw.
Deze oefening maakt deel uit van de cursus
Netwerkanalyse in R
Oefeninstructies
- Gebruik
assortativity()om de assortativiteit van het graafobjectg1op basis van geslacht te berekenen met het objectvaluesuit de vorige oefening, en sla dit op in het objectobserved.assortativity. - Bereken binnen de for-lus de assortativiteit van netwerk
g1metassortativity()terwijl je het objectvalueselke keer willekeurig permuteert metsample(). - Plot de verdeling van assortativiteitswaarden uit deze permutatieprocedure met
hist()en voeg een rode verticale lijn toe voor de geobserveerde assortativiteitswaarde van het oorspronkelijkeg1-netwerk die is opgeslagen inobserved.assortativity.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Calculate the observed assortativity
observed.assortativity <- ___(g1, values)
# Calculate the assortativity of the network randomizing the gender attribute 1000 times
results <- vector('list', 1000)
for(i in 1:1000){
results[[i]] <- ___(g1, sample(___))
}
# Plot the distribution of assortativity values and add a red vertical line at the original observed value
___(unlist(results))
abline(v = ___, col = "red", lty = 3, lwd=2)