Assignment information: (delete this when you submit) In this assignment you will re-build the pie graphs shown in the paper “Genomics is failing on diversity” by Popejoy and Fullerton (https://www.nature.com/articles/538161a). Delete all instructions and replace with short explanatory text about all code chunks. Be sure to change the title in the YAML header.
If possible, save this file to your Teams folder.
This information was collected for GWAS by Popejoy and Fullerton (funded by NIH). The data was collected using the GWAS catalog - analyzing the sample descriptions in this catalog. The process had to repeated int 2016 to account for more diversity in the samples. Most of the studied genomes in the 2009 study were of European descent - this kind of syudy would only benefit them in terms of healthcare, etc, so to add more ethnically diverse groups, the study was redone in 2016.
Create vectors to contain the data and labels to make the pie graphs at the top of figures.
Each vector has 3 elements: European ancestry, Asian ancestry, and other non-European ancestry.
DO NOT name your vector for the labels “labels”, since this is the name of an existing R function.
Include new line characters in the text as needed to improve spacing.
data_2009 <- c(96, 0, 4)
data_2016 <- c(81, 14, 5)
data_labels <- c("European", "Asian", "non-European")
Pro Tip: adding a new line character in front of the text or behind it in your labels and help you adjust spacing. E.g. “European” or “” (note - if you don’t delete this instruction the preceding text will have some weird features.)
# set up par()
par(mfrow = c(1,2), mar = c(2,3,1,5))
#pie graphs 1
# add main, init.angle, radius, and col
pie(data_2009, lables=data_labels, init.angle=-82, main="2009", radius=1, col=c(1, 2, 3))
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in title(main = main, ...): "lables" is not a graphical parameter
# pie graph 2
# add main, init.angle, radius, and col
pie(data_2016, lables=data_labels, init.angle=-82, main="2009", radius=1, col=c(1, 2, 3))
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in text.default(1.1 * P$x, 1.1 * P$y, labels[i], xpd = TRUE, adj =
## ifelse(P$x < : "lables" is not a graphical parameter
## Warning in title(main = main, ...): "lables" is not a graphical parameter
If you want, you can examine this code below to see how stracked bar graphs are made
# data
dat2016 <- c(14, 3,1,0.54,0.28,0.08,0.05)
dat2016_rev <- rev(dat2016)
barplotdata2016 <- matrix(c(dat2016_rev))
# labels
labels_x <- rev(c("Asian","African","Mixed", "Hispanic &\nLatin American",
"Pacific Islander","Arab & Middle East","Native peoples"))
par(mfrow = c(1,1))
barplot(barplotdata2016,
width = 0.01,
xlim = c(0,0.1),
axes = F,
col = c(1,2,3,4,5,6,7),
legend.text = labels_x)