Question 1

The American Community Survey distributes downloadable data about United States communities. Download the 2006 microdata survey about housing for the state of Idaho using download.file() from here:

https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv

and load the data into R. The code book, describing the variable names is here:

https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FPUMSDataDict06.pdf

Apply strsplit() to split all the names of the data frame on the characters “wgtp”.

What is the value of the 123 element of the resulting list?


Answer


Download file…

Q1Url <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv"
Q1 <- read.csv(Q1Url)
Q1


Computing solution…

Q1_colnames <- names(Q1)
strsplit(Q1_colnames, "^wgtp")[[123]]
[1] ""   "15"


Options:

  1. “wgt” “15”

  2. “wgtp”

  3. “” “15”

  4. “wgtp” “15”



Question 2

Load the Gross Domestic Product data for the 190 ranked countries in this data set:

https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FGDP.csv

Remove the commas from the GDP numbers in millions of dollars and average them. What is the average?

Original data sources:

http://data.worldbank.org/data-catalog/GDP-ranking-table


Answer


Downloading file…

Q2_Url <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FGDP.csv"
Q2_Path <- "/home/cabunic/Data Science/Coursera/3 - Getting and Cleaning Data/Week 4/Q3GDP.csv"
download.file(Q2_Url, Q2_Path, method = "curl")

Loading and tidying data…

Q2_File <- read.csv(Q2_Path, nrow = 190, skip = 4)
Q2_File <- Q2_File[,c(1, 2, 4, 5)]
colnames(Q2_File) <- c("CountryCode", "Rank", "Country", "Total")
Q2_File
Q2_File$Total <- as.integer(gsub(",", "", Q2_File$Total))
mean(Q2_File$Total, na.rm = T)
[1] 377652.4

Options:

  1. 377652.4

  2. 381668.9

  3. 387854.4

  4. 293700.3




Question 3

In the data set from Question 2 what is a regular expression that would allow you to count the number of countries whose name begins with “United”? Assume that the variable with the country names in it is named countryNames. How many countries begin with United?


Answer


Fixing country names:

Q2_File$Country <- as.character(Q2_File$Country)
Q2_File$Country[99] <- "Côte d’Ivoire"
Q2_File$Country[186] <- "São Tomé and Príncipe"

Generating solution…

Q2_File$Country[grep("^United", Q2_File$Country)]
[1] "United States"        "United Kingdom"       "United Arab Emirates"


Options:

  1. grep(“*United“,countryNames), 2

  2. grep(“^United”,countryNames), 4

  3. grep(“^United”,countryNames), 3

  4. grep(“United$”,countryNames), 3




Question 4

Load the Gross Domestic Product data for the 190 ranked countries in this data set:

https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FGDP.csv

Load the educational data from this data set:

https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FEDSTATS_Country.csv

Match the data based on the country shortcode. Of the countries for which the end of the fiscal year is available, how many end in June?

Original data sources:

http://data.worldbank.org/data-catalog/GDP-ranking-table

http://data.worldbank.org/data-catalog/ed-stats


Answer


Loading packages…

library(data.table)


Download file…

Q4GDP_Url <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FGDP.csv"
Q4GDP_Path <- "/home/cabunic/Data Science/Coursera/3 - Getting and Cleaning Data/Week 3/Q3GDP.csv"
Q4Edu_Url <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FEDSTATS_Country.csv"
Q4Edu_Path <- "/home/cabunic/Data Science/Coursera/3 - Getting and Cleaning Data/Week 3/Q3Edu.csv"

download.file(Q4GDP_Url, Q4GDP_Path, method = "curl")
download.file(Q4Edu_Url, Q4Edu_Path, method = "curl")


Merging the data…

Q4GDP <- fread(Q4GDP_Path, skip = 5, nrows = 190, select = c(1, 2, 4, 5), col.names = c("CountryCode", "Rank", "Economy", "Total"))
Q4Edu <- fread(Q4Edu_Path)
Q4_Merge <- merge(Q4GDP, Q4Edu, by = 'CountryCode')
Q4_Merge


Computing solution…

FiscalJune <- grep("Fiscal year end: June", Q4_Merge$`Special Notes`)
NROW(FiscalJune)
[1] 13


Options:

  1. 13

  2. 7

  3. 16

  4. 8




Question 5

You can use the quantmod (http://www.quantmod.com/) package to get historical stock prices for publicly traded companies on the NASDAQ and NYSE. Use the following code to download data on Amazon’s stock price and get the times the data was sampled.

library(quantmod)
amzn = getSymbols("AMZN", auto.assign=FALSE)
sampleTimes = index(amzn)


How many values were collected in 2012? How many values were collected on Mondays in 2012?


Answer


Loading package…

library(quantmod)
library(lubridate)
amzn = getSymbols("AMZN", auto.assign=FALSE)
sampleTimes = index(amzn)


How many values were collected in 2012?

amzn2012 <- sampleTimes[grep("^2012", sampleTimes)]
NROW(amzn2012)
[1] 250


How many values were collected on Mondays in 2012?

NROW(amzn2012[weekdays(amzn2012) == "Monday"])
[1] 47


Options:

  1. 252, 50

  2. 250, 51

  3. 251, 47

  4. 250, 47



END

LS0tCnRpdGxlOiAiUXVpeiA0IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgo8YnIgLz4KCi0tLQoKIyMgUXVlc3Rpb24gMQoKVGhlIEFtZXJpY2FuIENvbW11bml0eSBTdXJ2ZXkgZGlzdHJpYnV0ZXMgZG93bmxvYWRhYmxlIGRhdGEgYWJvdXQgVW5pdGVkIFN0YXRlcyBjb21tdW5pdGllcy4gRG93bmxvYWQgdGhlIDIwMDYgbWljcm9kYXRhIHN1cnZleSBhYm91dCBob3VzaW5nIGZvciB0aGUgc3RhdGUgb2YgSWRhaG8gdXNpbmcgKipkb3dubG9hZC5maWxlKCkqKiBmcm9tIGhlcmU6CgpodHRwczovL2QzOTZxdXN6YTQwb3JjLmNsb3VkZnJvbnQubmV0L2dldGRhdGElMkZkYXRhJTJGc3MwNmhpZC5jc3YKCmFuZCBsb2FkIHRoZSBkYXRhIGludG8gUi4gVGhlIGNvZGUgYm9vaywgZGVzY3JpYmluZyB0aGUgdmFyaWFibGUgbmFtZXMgaXMgaGVyZToKCmh0dHBzOi8vZDM5NnF1c3phNDBvcmMuY2xvdWRmcm9udC5uZXQvZ2V0ZGF0YSUyRmRhdGElMkZQVU1TRGF0YURpY3QwNi5wZGYKCkFwcGx5ICoqc3Ryc3BsaXQoKSoqIHRvIHNwbGl0IGFsbCB0aGUgbmFtZXMgb2YgdGhlIGRhdGEgZnJhbWUgb24gdGhlIGNoYXJhY3RlcnMgKiJ3Z3RwIiouCgpXaGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgMTIzIGVsZW1lbnQgb2YgdGhlIHJlc3VsdGluZyBsaXN0PwoKPGJyIC8+CgojIyMgQW5zd2VyCgo8YnIvPgpEb3dubG9hZCBmaWxlLi4uCmBgYHtyfQpRMVVybCA8LSAiaHR0cHM6Ly9kMzk2cXVzemE0MG9yYy5jbG91ZGZyb250Lm5ldC9nZXRkYXRhJTJGZGF0YSUyRnNzMDZoaWQuY3N2IgpRMSA8LSByZWFkLmNzdihRMVVybCkKUTEKYGBgCjxici8+CkNvbXB1dGluZyBzb2x1dGlvbi4uLgpgYGB7cn0KUTFfY29sbmFtZXMgPC0gbmFtZXMoUTEpCnN0cnNwbGl0KFExX2NvbG5hbWVzLCAiXndndHAiKVtbMTIzXV0KYGBgCgo8YnIvPgoKPGRpdiBzdHlsZT0gImJvcmRlcjogNXB4IGRvdHRlZCBncmF5OyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJhY2tncm91bmQtY29sb3I6I2U4ZThlODsgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7Ij4KKipPcHRpb25zOioqCgphLiAid2d0IiAiMTUiCgpiLiAid2d0cCIKCmMuIDx1PioqIiIgIjE1IioqPC91PgoKZC4gIndndHAiICIxNSIKCjwvZGl2PgoKCjxici8+Ci0tLQoKPGJyIC8+CgojIyBRdWVzdGlvbiAyCgpMb2FkIHRoZSBHcm9zcyBEb21lc3RpYyBQcm9kdWN0IGRhdGEgZm9yIHRoZSAxOTAgcmFua2VkIGNvdW50cmllcyBpbiB0aGlzIGRhdGEgc2V0OgoKaHR0cHM6Ly9kMzk2cXVzemE0MG9yYy5jbG91ZGZyb250Lm5ldC9nZXRkYXRhJTJGZGF0YSUyRkdEUC5jc3YKClJlbW92ZSB0aGUgY29tbWFzIGZyb20gdGhlIEdEUCBudW1iZXJzIGluIG1pbGxpb25zIG9mIGRvbGxhcnMgYW5kIGF2ZXJhZ2UgdGhlbS4gV2hhdCBpcyB0aGUgYXZlcmFnZT8KCk9yaWdpbmFsIGRhdGEgc291cmNlczoKCmh0dHA6Ly9kYXRhLndvcmxkYmFuay5vcmcvZGF0YS1jYXRhbG9nL0dEUC1yYW5raW5nLXRhYmxlIAoKPGJyIC8+CgojIyMgQW5zd2VyCgo8YnIvPgpEb3dubG9hZGluZyBmaWxlLi4uCmBgYHtyfQpRMl9VcmwgPC0gImh0dHBzOi8vZDM5NnF1c3phNDBvcmMuY2xvdWRmcm9udC5uZXQvZ2V0ZGF0YSUyRmRhdGElMkZHRFAuY3N2IgpRMl9QYXRoIDwtICIvaG9tZS9jYWJ1bmljL0RhdGEgU2NpZW5jZS9Db3Vyc2VyYS8zIC0gR2V0dGluZyBhbmQgQ2xlYW5pbmcgRGF0YS9XZWVrIDQvUTNHRFAuY3N2Igpkb3dubG9hZC5maWxlKFEyX1VybCwgUTJfUGF0aCwgbWV0aG9kID0gImN1cmwiKQpgYGAKCkxvYWRpbmcgYW5kIHRpZHlpbmcgZGF0YS4uLgpgYGB7cn0KUTJfRmlsZSA8LSByZWFkLmNzdihRMl9QYXRoLCBucm93ID0gMTkwLCBza2lwID0gNCkKUTJfRmlsZSA8LSBRMl9GaWxlWyxjKDEsIDIsIDQsIDUpXQpjb2xuYW1lcyhRMl9GaWxlKSA8LSBjKCJDb3VudHJ5Q29kZSIsICJSYW5rIiwgIkNvdW50cnkiLCAiVG90YWwiKQpRMl9GaWxlCmBgYApgYGB7cn0KUTJfRmlsZSRUb3RhbCA8LSBhcy5pbnRlZ2VyKGdzdWIoIiwiLCAiIiwgUTJfRmlsZSRUb3RhbCkpCm1lYW4oUTJfRmlsZSRUb3RhbCwgbmEucm0gPSBUKQpgYGAKCgo8YnIvPgo8ZGl2IHN0eWxlPSAiYm9yZGVyOiA1cHggZG90dGVkIGdyYXk7IHBhZGRpbmc6IDEwcHggMjBweDsgYmFja2dyb3VuZC1jb2xvcjojZThlOGU4OyBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsiPgoqKk9wdGlvbnM6KioKCmEuIDx1PioqMzc3NjUyLjQqKjwvdT4KCmIuIDM4MTY2OC45CgpjLiAzODc4NTQuNAoKZC4gMjkzNzAwLjMKCjwvZGl2PgoKPGJyLz4KCi0tLQoKPGJyIC8+CgojIyBRdWVzdGlvbiAzCgpJbiB0aGUgZGF0YSBzZXQgZnJvbSBRdWVzdGlvbiAyIHdoYXQgaXMgYSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCB3b3VsZCBhbGxvdyB5b3UgdG8gY291bnQgdGhlIG51bWJlciBvZiBjb3VudHJpZXMgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCAqIlVuaXRlZCIqPyBBc3N1bWUgdGhhdCB0aGUgdmFyaWFibGUgd2l0aCB0aGUgY291bnRyeSBuYW1lcyBpbiBpdCBpcyBuYW1lZCAqY291bnRyeU5hbWVzKi4gSG93IG1hbnkgY291bnRyaWVzIGJlZ2luIHdpdGggVW5pdGVkPwoKPGJyIC8+CgojIyMgQW5zd2VyCgo8YnIvPgpGaXhpbmcgY291bnRyeSBuYW1lczoKYGBge3J9ClEyX0ZpbGUkQ291bnRyeSA8LSBhcy5jaGFyYWN0ZXIoUTJfRmlsZSRDb3VudHJ5KQpRMl9GaWxlJENvdW50cnlbOTldIDwtICJDw7R0ZSBk4oCZSXZvaXJlIgpRMl9GaWxlJENvdW50cnlbMTg2XSA8LSAiU8OjbyBUb23DqSBhbmQgUHLDrW5jaXBlIgpgYGAKCkdlbmVyYXRpbmcgc29sdXRpb24uLi4KYGBge3J9ClEyX0ZpbGUkQ291bnRyeVtncmVwKCJeVW5pdGVkIiwgUTJfRmlsZSRDb3VudHJ5KV0KYGBgCgo8YnIvPgoKPGRpdiBzdHlsZT0gImJvcmRlcjogNXB4IGRvdHRlZCBncmF5OyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJhY2tncm91bmQtY29sb3I6I2U4ZThlODsgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7Ij4KKipPcHRpb25zOioqCgphLiBncmVwKCIqVW5pdGVkIixjb3VudHJ5TmFtZXMpLCAyCgpiLiBncmVwKCJeVW5pdGVkIixjb3VudHJ5TmFtZXMpLCA0CgpjLiA8dT4qKmdyZXAoIl5Vbml0ZWQiLGNvdW50cnlOYW1lcyksIDMqKjwvdT4KCmQuIGdyZXAoIlVuaXRlZCQiLGNvdW50cnlOYW1lcyksIDMKCjwvZGl2PgoKPGJyLz4KCi0tLQoKPGJyIC8+CgojIyBRdWVzdGlvbiA0CgpMb2FkIHRoZSBHcm9zcyBEb21lc3RpYyBQcm9kdWN0IGRhdGEgZm9yIHRoZSAxOTAgcmFua2VkIGNvdW50cmllcyBpbiB0aGlzIGRhdGEgc2V0OgoKaHR0cHM6Ly9kMzk2cXVzemE0MG9yYy5jbG91ZGZyb250Lm5ldC9nZXRkYXRhJTJGZGF0YSUyRkdEUC5jc3YKCkxvYWQgdGhlIGVkdWNhdGlvbmFsIGRhdGEgZnJvbSB0aGlzIGRhdGEgc2V0OgoKaHR0cHM6Ly9kMzk2cXVzemE0MG9yYy5jbG91ZGZyb250Lm5ldC9nZXRkYXRhJTJGZGF0YSUyRkVEU1RBVFNfQ291bnRyeS5jc3YKCk1hdGNoIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBjb3VudHJ5IHNob3J0Y29kZS4KT2YgdGhlIGNvdW50cmllcyBmb3Igd2hpY2ggdGhlIGVuZCBvZiB0aGUgZmlzY2FsIHllYXIgaXMgYXZhaWxhYmxlLCBob3cgbWFueSBlbmQgaW4gSnVuZT8KCk9yaWdpbmFsIGRhdGEgc291cmNlczoKCmh0dHA6Ly9kYXRhLndvcmxkYmFuay5vcmcvZGF0YS1jYXRhbG9nL0dEUC1yYW5raW5nLXRhYmxlCgpodHRwOi8vZGF0YS53b3JsZGJhbmsub3JnL2RhdGEtY2F0YWxvZy9lZC1zdGF0cwoKPGJyIC8+CgojIyMgQW5zd2VyCgo8YnIvPgpMb2FkaW5nIHBhY2thZ2VzLi4uCmBgYHtyfQpsaWJyYXJ5KGRhdGEudGFibGUpCmBgYAoKPGJyLz4KRG93bmxvYWQgZmlsZS4uLgpgYGB7cn0KUTRHRFBfVXJsIDwtICJodHRwczovL2QzOTZxdXN6YTQwb3JjLmNsb3VkZnJvbnQubmV0L2dldGRhdGElMkZkYXRhJTJGR0RQLmNzdiIKUTRHRFBfUGF0aCA8LSAiL2hvbWUvY2FidW5pYy9EYXRhIFNjaWVuY2UvQ291cnNlcmEvMyAtIEdldHRpbmcgYW5kIENsZWFuaW5nIERhdGEvV2VlayAzL1EzR0RQLmNzdiIKUTRFZHVfVXJsIDwtICJodHRwczovL2QzOTZxdXN6YTQwb3JjLmNsb3VkZnJvbnQubmV0L2dldGRhdGElMkZkYXRhJTJGRURTVEFUU19Db3VudHJ5LmNzdiIKUTRFZHVfUGF0aCA8LSAiL2hvbWUvY2FidW5pYy9EYXRhIFNjaWVuY2UvQ291cnNlcmEvMyAtIEdldHRpbmcgYW5kIENsZWFuaW5nIERhdGEvV2VlayAzL1EzRWR1LmNzdiIKCmRvd25sb2FkLmZpbGUoUTRHRFBfVXJsLCBRNEdEUF9QYXRoLCBtZXRob2QgPSAiY3VybCIpCmRvd25sb2FkLmZpbGUoUTRFZHVfVXJsLCBRNEVkdV9QYXRoLCBtZXRob2QgPSAiY3VybCIpCmBgYAo8YnIvPgpNZXJnaW5nIHRoZSBkYXRhLi4uCmBgYHtyfQpRNEdEUCA8LSBmcmVhZChRNEdEUF9QYXRoLCBza2lwID0gNSwgbnJvd3MgPSAxOTAsIHNlbGVjdCA9IGMoMSwgMiwgNCwgNSksIGNvbC5uYW1lcyA9IGMoIkNvdW50cnlDb2RlIiwgIlJhbmsiLCAiRWNvbm9teSIsICJUb3RhbCIpKQpRNEVkdSA8LSBmcmVhZChRNEVkdV9QYXRoKQoKUTRfTWVyZ2UgPC0gbWVyZ2UoUTRHRFAsIFE0RWR1LCBieSA9ICdDb3VudHJ5Q29kZScpClE0X01lcmdlCmBgYAo8YnIvPgpDb21wdXRpbmcgc29sdXRpb24uLi4KYGBge3J9CkZpc2NhbEp1bmUgPC0gZ3JlcCgiRmlzY2FsIHllYXIgZW5kOiBKdW5lIiwgUTRfTWVyZ2UkYFNwZWNpYWwgTm90ZXNgKQpOUk9XKEZpc2NhbEp1bmUpCmBgYAoKPGJyLz4KCjxkaXYgc3R5bGU9ICJib3JkZXI6IDVweCBkb3R0ZWQgZ3JheTsgcGFkZGluZzogMTBweCAyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7IGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyI+CioqT3B0aW9uczoqKgoKYS4gPFU+KioxMyoqPC91PgoKYi4gNwoKYy4gMTYKCmQuIDgKCjwvZGl2PgoKPGJyLz4KCi0tLQoKPGJyIC8+CgojIyBRdWVzdGlvbiA1CgpZb3UgY2FuIHVzZSB0aGUgcXVhbnRtb2QgKGh0dHA6Ly93d3cucXVhbnRtb2QuY29tLykgcGFja2FnZSB0byBnZXQgaGlzdG9yaWNhbCBzdG9jayBwcmljZXMgZm9yIHB1YmxpY2x5IHRyYWRlZCBjb21wYW5pZXMgb24gdGhlIE5BU0RBUSBhbmQgTllTRS4gVXNlIHRoZSBmb2xsb3dpbmcgY29kZSB0byBkb3dubG9hZCBkYXRhIG9uIEFtYXpvbidzIHN0b2NrIHByaWNlIGFuZCBnZXQgdGhlIHRpbWVzIHRoZSBkYXRhIHdhcyBzYW1wbGVkLgoKYGBge3J9CmxpYnJhcnkocXVhbnRtb2QpCmFtem4gPSBnZXRTeW1ib2xzKCJBTVpOIiwgYXV0by5hc3NpZ249RkFMU0UpCnNhbXBsZVRpbWVzID0gaW5kZXgoYW16bikKYGBgCjxici8+CkhvdyBtYW55IHZhbHVlcyB3ZXJlIGNvbGxlY3RlZCBpbiAyMDEyPwpIb3cgbWFueSB2YWx1ZXMgd2VyZSBjb2xsZWN0ZWQgb24gTW9uZGF5cyBpbiAyMDEyPwoKPGJyIC8+CgojIyMgQW5zd2VyCgo8YnIvPgpMb2FkaW5nIHBhY2thZ2UuLi4KYGBge3J9CmxpYnJhcnkocXVhbnRtb2QpCmFtem4gPSBnZXRTeW1ib2xzKCJBTVpOIiwgYXV0by5hc3NpZ249RkFMU0UpCnNhbXBsZVRpbWVzID0gaW5kZXgoYW16bikKYGBgCgo8YnIvPgpIb3cgbWFueSB2YWx1ZXMgd2VyZSBjb2xsZWN0ZWQgaW4gMjAxMj8KYGBge3J9CmFtem4yMDEyIDwtIHNhbXBsZVRpbWVzW2dyZXAoIl4yMDEyIiwgc2FtcGxlVGltZXMpXQpOUk9XKGFtem4yMDEyKQpgYGAKCjxici8+CkhvdyBtYW55IHZhbHVlcyB3ZXJlIGNvbGxlY3RlZCBvbiBNb25kYXlzIGluIDIwMTI/CmBgYHtyfQpOUk9XKGFtem4yMDEyW3dlZWtkYXlzKGFtem4yMDEyKSA9PSAiTW9uZGF5Il0pCmBgYAoKPGJyLz4KCjxkaXYgc3R5bGU9ICJib3JkZXI6IDVweCBkb3R0ZWQgZ3JheTsgcGFkZGluZzogMTBweCAyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNlOGU4ZTg7IGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyI+CioqT3B0aW9uczoqKgoKYS4gMjUyLCA1MAoKYi4gMjUwLCA1MQoKYy4gMjUxLCA0NwoKZC4gPHU+KioyNTAsIDQ3Kio8L3U+Cgo8L2Rpdj4KCjxici8+CgotLS0KCjxjZW50ZXI+KipFTkQqKjwvY2VudGVyPgoKLS0t