Zacznij terazZacznij za darmo

Użycie randomizacji do oceny asysortatywności

W tym ćwiczeniu sprawdzisz, jak prawdopodobna jest zaobserwowana asysortatywność w sieci znajomości, biorąc pod uwagę płeć wierzchołków. W tym celu przeprowadzisz procedurę randomizacji: losowo przestawisz płeć wierzchołków w sieci 1000 razy i za każdym razem ponownie obliczysz asysortatywność dla każdej losowej sieci.

To ćwiczenie jest częścią kursu

Analiza sieci w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj funkcji assortativity(), aby obliczyć asysortatywność grafu g1 na podstawie płci, korzystając z obiektu values obliczonego w poprzednim ćwiczeniu. Wynik przypisz do obiektu observed.assortativity.
  • Wewnątrz pętli for oblicz asysortatywność sieci g1 za pomocą assortativity(), każdorazowo losowo przestawiając obiekt values przy użyciu sample().
  • Wykreśl rozkład wartości asysortatywności uzyskanych z tej procedury randomizacji, używając hist(), a następnie dodaj czerwoną linię pionową odpowiadającą zaobserwowanej wartości asysortatywności oryginalnej sieci g1, przechowywanej w observed.assortativity.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)

Edytuj i uruchom kod