Editing Communication and Social Networks (Spring 2020)/Dutch School Data Visualization challenge

From CommunityData

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== The goal ==
== The goal ==


In 2003 and 2004, researchers repeatedly surveyed a number of Dutch school students about their friendships and their behavior. They were particularly interested in the relationship between friendships and drinking behavior. They recorded information about alcohol use, gender, age, ethnicity (whether Dutch or not), and religion.
In 2003 and 2004, researchers repeatedly surveyed a number of Dutch school students about their friendships and their behavior. They were particularly interested in the relationship between friendships and drinking behavior.


For this homework, you are supposed to think of a question that you could ask about this data. I don't remember exactly the questions that we came up with in class, but you could ask things like:
However, there are lots of different questions that you can ask about this data, and lots of different ways to visualize relationships between them. Your goal is to identify a question that you think would be interesting and to use R to visualize the network in a way that sheds light on that question.
* Are people who drink more more popular?
* Are males or females more likely to have the same drinking behavior as their friends?
* Are people of the dominant religion more likely to be popular? More likely to be friends with each other?
 
I created two files to help you to get started:
 
# '''[https://github.com/jdfoote/Communication-and-Social-Networks/raw/master/activities/network_visualization_examples_and_assignment.Rmd This link]''' is an R Markdown file that gives general examples of how to create network visualizations, and gives information about the data. Right-click the file, save it to your computer, and open it in RStudio. At the top of RStudio click "knit", and it should open up something that looks kind of like a web page, which was created from this file ([https://youtu.be/tKUufzpoHDE video explaining R Markdown]).
# [https://github.com/jdfoote/Communication-and-Social-Networks/raw/master/activities/school_data_example.Rmd This R file] shows an A+ example of this assignment. It shows how to load the code, gives you visualization ideas, and some code that you might want to alter for your assignment. As with the other one, you should be able to right-click it, save it, and open it in RStudio. I explain the code in [https://youtu.be/prCmVEUTxQE this video].
 
There are lots of different questions that you can ask about this data, and lots of different ways to visualize relationships between them. Your goal is to identify a question that you think would be interesting and to use R to visualize the network in a way that sheds light on that question. In my example, I decided to look at whether friendships which were mutual were more likely to have the same drinking behavior. I ended up coloring the nodes based on drinking behavior and coloring the edges based on whether they had the same drinking behavior.
 
If you wanted to visualize whether drinkers were more popular, you might color nodes by drinking behavior, and change their size based on their indegree centrality or eigenvector centrality.


== The data ==
== The data ==


The R Markdown file linked above explains that I created 2 igraph objects for you:
'''Right-click [https://github.com/jdfoote/Communication-and-Social-Networks/raw/master/activities/network_visualization_examples_and_assignment.Rmd this link]''' and open it in RStudio. At the top of RStudio click "knit", and it should open up something that looks kind of like a web page, which was created from this file ([https://youtu.be/tKUufzpoHDE video explaining R Markdown]). It includes example code for making network visualizations, and also includes code for loading the data for this assignment.
 
* <code>G</code> is a multiplex network, which includes both friendships and edges which represent whether two people went to grade school together
* <code>friend_net</code> is just a simplified version of </G>, where I removed the grade school edges.
 
In order to load these igraph objects into R you will need to run
 
<code>load(url('https://github.com/jdfoote/Communication-and-Social-Networks/raw/master/activities/school_graph.Rdata'))</code>.  
 
This should grab the igraph objects <code>G</code> and <code>friend_net</code>, and load them into your environment. Descriptions of both networks are in the R Markdown file.
 
Descriptions of what each measure means are at [http://www.stats.ox.ac.uk/~snijders/siena/tutorial2010_data.htm this site], maintained by the people who collected the data.
 
== Troubleshooting ==


Note that you may need to install the following packages to get my scripts to work:
The researchers made their data available in files that are difficult to get into R. In order to make things easier, I've changed this messy data of multiple matrices into an igraph object for you. You can see how I did that [https://github.com/jdfoote/Communication-and-Social-Networks/blob/master/activities/knecht_school_data.r here]. The key piece of code that you will need in your code is <code>load(url('https://github.com/jdfoote/Communication-and-Social-Networks/raw/master/activities/school_graph.Rdata'))</code>. This should grab the igraph objects <code>G</code> and <code>friend_net</code>, and load them into your environment. Descriptions of both networks is in the R Markdown file.


<code>
Descriptions of what each measure means are at the [http://www.stats.ox.ac.uk/~snijders/siena/tutorial2010_data.htm this site], maintained by the people who collected the data.
install.packages('igraph')
install.packages('tidygraph') # Only for the second script
</code>


This will install these libraries on your computer, so that you can use them
Basically, it includes information about alcohol use, gender, age, ethnicity (whether Dutch or not), and religion.
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)