Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik assortativity() om de assortativiteit van het graafobject g1 op basis van geslacht te berekenen met het object values uit de vorige oefening, en sla dit op in het object observed.assortativity.
  • Bereken binnen de for-lus de assortativiteit van netwerk g1 met assortativity() terwijl je het object values elke keer willekeurig permuteert met sample().
  • Plot de verdeling van assortativiteitswaarden uit deze permutatieprocedure met hist() en voeg een rode verticale lijn toe voor de geobserveerde assortativiteitswaarde van het oorspronkelijke g1-netwerk die is opgeslagen in observed.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)

Code bewerken en uitvoeren