library(tidyverse)
library(openintro)
library(broom)
library(statsr)

###Access the dataset data(hfi) ### Exercise 1. Dataset dimensions and observations #Find the dimensions of the hfi dataset dim(hfi) #Answer: 1458 rows 123 variables

Exercise 2. Filtering for 2016

Filter for 2016

hfi_2016 <- hfi %>% filter(year == 2016) %>% select(year,countries,pf_score,pf_expression_control,hf_score, pf_rank)

Exercise 3. Visualization Relationships

#Relationship between pf_score and pf_expression_control ggplot(hfi_2016, aes(x = pf_expression_control, y = pf_score)) + geom_point() + geom_smooth(method = “lm”, se = FALSE) + labs( title = “Personal Freedom vs Expression Control”, x = “Expression Control (pf_expression_control)”, y = “Personal Freedom Score (pf_score)” ) # Note: A scatterplot is used for two numerical variables. #The relationship between the two variables is linear #If you know a country’s pf_expression_control, or its socre out of 10 #with 0 being the most, of political pressures and controls on media content # Yes, I believe that linear model can be used to predict personal freedom score # Find the correlation coefficient hfi_2016 |> summarise(cor(pf_expression_control, pf_score)) #Answer is 0.845

Exercise4. Describing the Relationship

#Based on the scatterplot, the relationship is: #form: Linear #Direction: Positive #Strength: Strong #Unusual observation: A few outliers may exist at lower points

Exercise 5. Sum of Squared residuals

#line points plot_ss(x = pf_expression_control, y = pf_score, data = hfi_2016) #Showing squares in the squared residuals plot_ss(x = pf_expression_control, y = pf_score, data = hfi_2016,showSquares= TRUE)

Exercise 6. The Linear Model for pf_score

#It is difficult to try to get the squares in the correct line, the lm function can be used to fit in the regression line

m1 <- lm(pf_score ~ pf_expression_control, data = hfi_2016)

tidy(m1) model <- lm(hf_score ~ pf_expression_control, data = hfi_2016) summary(model) tidy(m2)

#Exercise 7. ggplot(data = hfi_2016, aes(x = pf_expression_control, y = pf_score)) + geom_point() + geom_smooth(method = “lm”, se = FALSE)

Prediction <- 4.28 + (0.542*3) #Answer=5.906

hfi_2016 %>% filter(pf_expression_control==3) %>% select(countries,pf_score) #< #Central Afr. Rep. 5.47

observed_minus_predicted <- 5.47- 5.906

ggplot(data = m1_aug, aes(x = .fitted, y = .resid)) + geom_point() + geom_hline(yintercept = 0, linetype = “dashed”, color = “red”) + xlab(“Fitted values”) + ylab(“Residuals”) model <- lm(pf_score ~ pf_expression_control, data = hfi_2016) #Exercise 8. There is a weak correleation between the variables

#Exercise 9 ggplot(data = m1, aes(x = .resid)) + geom_histogram(binwidth = 0.25) + xlab(“Residuals”) plot(model, which = 1) #If there is a bell shape it signifies normal residual conditions

#Exercise 10 #There is constant variability #Conditions Met: constant variability is met if the points are #scattered randomly around the horizontal dash line (y=0) with #equal vertical spread across the x-axis. This shows that the #error is consistent regardless of predicted value

LS0tCnRpdGxlOiAiTGFiIDE6IEludHJvIHRvIFIiCmF1dGhvcjogIkF1dGhvciBOYW1lIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDogb3BlbmludHJvOjpsYWJfcmVwb3J0Ci0tLQoKYGBge3IgbG9hZC1wYWNrYWdlcywgbWVzc2FnZT1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkob3BlbmludHJvKQpsaWJyYXJ5KGJyb29tKQpsaWJyYXJ5KHN0YXRzcikKYGBgCiMjI0FjY2VzcyB0aGUgZGF0YXNldApkYXRhKGhmaSkKIyMjIEV4ZXJjaXNlIDEuIERhdGFzZXQgZGltZW5zaW9ucyBhbmQgb2JzZXJ2YXRpb25zIAojRmluZCB0aGUgZGltZW5zaW9ucyBvZiB0aGUgaGZpIGRhdGFzZXQKZGltKGhmaSkKI0Fuc3dlcjogMTQ1OCByb3dzIDEyMyB2YXJpYWJsZXMKCiMjIyBFeGVyY2lzZSAyLiBGaWx0ZXJpbmcgZm9yIDIwMTYKIyBGaWx0ZXIgZm9yIDIwMTYgCmhmaV8yMDE2IDwtIGhmaSAlPiUKICBmaWx0ZXIoeWVhciA9PSAyMDE2KSAlPiUKICBzZWxlY3QoeWVhcixjb3VudHJpZXMscGZfc2NvcmUscGZfZXhwcmVzc2lvbl9jb250cm9sLGhmX3Njb3JlLCBwZl9yYW5rKQogIAojIyMgRXhlcmNpc2UgMy4gVmlzdWFsaXphdGlvbiBSZWxhdGlvbnNoaXBzCiNSZWxhdGlvbnNoaXAgYmV0d2VlbiBwZl9zY29yZSBhbmQgcGZfZXhwcmVzc2lvbl9jb250cm9sCmdncGxvdChoZmlfMjAxNiwgYWVzKHggPSBwZl9leHByZXNzaW9uX2NvbnRyb2wsIHkgPSBwZl9zY29yZSkpICsKICBnZW9tX3BvaW50KCkgKwogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UpICsKICBsYWJzKAogICAgdGl0bGUgPSAiUGVyc29uYWwgRnJlZWRvbSB2cyBFeHByZXNzaW9uIENvbnRyb2wiLAogICAgeCA9ICJFeHByZXNzaW9uIENvbnRyb2wgKHBmX2V4cHJlc3Npb25fY29udHJvbCkiLAogICAgeSA9ICJQZXJzb25hbCBGcmVlZG9tIFNjb3JlIChwZl9zY29yZSkiCiAgKQojIE5vdGU6IEEgc2NhdHRlcnBsb3QgaXMgdXNlZCBmb3IgdHdvIG51bWVyaWNhbCB2YXJpYWJsZXMuCiNUaGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHR3byB2YXJpYWJsZXMgaXMgbGluZWFyCiNJZiB5b3Uga25vdyBhIGNvdW50cnkncyBwZl9leHByZXNzaW9uX2NvbnRyb2wsIG9yIGl0cyBzb2NyZSBvdXQgb2YgMTAKI3dpdGggMCBiZWluZyB0aGUgbW9zdCwgb2YgcG9saXRpY2FsIHByZXNzdXJlcyBhbmQgY29udHJvbHMgb24gbWVkaWEgY29udGVudAojIFllcywgSSBiZWxpZXZlIHRoYXQgbGluZWFyIG1vZGVsIGNhbiBiZSB1c2VkIHRvIHByZWRpY3QgcGVyc29uYWwgZnJlZWRvbSBzY29yZQojIEZpbmQgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50CmhmaV8yMDE2IHw+CiAgc3VtbWFyaXNlKGNvcihwZl9leHByZXNzaW9uX2NvbnRyb2wsIHBmX3Njb3JlKSkKI0Fuc3dlciBpcyAwLjg0NQoKIyMjIEV4ZXJjaXNlNC4gRGVzY3JpYmluZyB0aGUgUmVsYXRpb25zaGlwCiNCYXNlZCBvbiB0aGUgc2NhdHRlcnBsb3QsIHRoZSByZWxhdGlvbnNoaXAgaXM6CiNmb3JtOiBMaW5lYXIKI0RpcmVjdGlvbjogUG9zaXRpdmUKI1N0cmVuZ3RoOiBTdHJvbmcKI1VudXN1YWwgb2JzZXJ2YXRpb246IEEgZmV3IG91dGxpZXJzIG1heSBleGlzdCBhdCBsb3dlciBwb2ludHMgCgoKIyMjIEV4ZXJjaXNlIDUuIFN1bSBvZiBTcXVhcmVkIHJlc2lkdWFscwojbGluZSBwb2ludHMKcGxvdF9zcyh4ID0gcGZfZXhwcmVzc2lvbl9jb250cm9sLCB5ID0gcGZfc2NvcmUsIGRhdGEgPSBoZmlfMjAxNikKI1Nob3dpbmcgc3F1YXJlcyBpbiB0aGUgc3F1YXJlZCByZXNpZHVhbHMKcGxvdF9zcyh4ID0gcGZfZXhwcmVzc2lvbl9jb250cm9sLCB5ID0gcGZfc2NvcmUsIGRhdGEgPSBoZmlfMjAxNixzaG93U3F1YXJlcz0gVFJVRSkKCgojIyMgRXhlcmNpc2UgNi4gVGhlIExpbmVhciBNb2RlbCBmb3IgcGZfc2NvcmUKI0l0IGlzIGRpZmZpY3VsdCB0byB0cnkgdG8gZ2V0IHRoZSBzcXVhcmVzIGluIHRoZSBjb3JyZWN0IGxpbmUsIHRoZSBsbSBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBmaXQgaW4gdGhlIHJlZ3Jlc3Npb24gbGluZQoKbTEgPC0gbG0ocGZfc2NvcmUgfiBwZl9leHByZXNzaW9uX2NvbnRyb2wsIGRhdGEgPSBoZmlfMjAxNikKCnRpZHkobTEpCm1vZGVsIDwtIGxtKGhmX3Njb3JlIH4gcGZfZXhwcmVzc2lvbl9jb250cm9sLCBkYXRhID0gaGZpXzIwMTYpCnN1bW1hcnkobW9kZWwpCnRpZHkobTIpCgojRXhlcmNpc2UgNy4KZ2dwbG90KGRhdGEgPSBoZmlfMjAxNiwgYWVzKHggPSBwZl9leHByZXNzaW9uX2NvbnRyb2wsIHkgPSBwZl9zY29yZSkpICsKICBnZW9tX3BvaW50KCkgKwogIGdlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIsIHNlID0gRkFMU0UpCiAgClByZWRpY3Rpb24gPC0gNC4yOCArICgwLjU0MiozKQojQW5zd2VyPTUuOTA2CgpoZmlfMjAxNiAlPiUKICBmaWx0ZXIocGZfZXhwcmVzc2lvbl9jb250cm9sPT0zKSAlPiUKICBzZWxlY3QoY291bnRyaWVzLHBmX3Njb3JlKQojPDxjaHI+CiNDZW50cmFsIEFmci4gUmVwLiAgIDUuNDcKCm9ic2VydmVkX21pbnVzX3ByZWRpY3RlZCA8LSA1LjQ3LSA1LjkwNiAKCmdncGxvdChkYXRhID0gbTFfYXVnLCBhZXMoeCA9IC5maXR0ZWQsIHkgPSAucmVzaWQpKSArCiAgZ2VvbV9wb2ludCgpICsKICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKSArCiAgeGxhYigiRml0dGVkIHZhbHVlcyIpICsKICB5bGFiKCJSZXNpZHVhbHMiKQptb2RlbCA8LSBsbShwZl9zY29yZSB+IHBmX2V4cHJlc3Npb25fY29udHJvbCwgZGF0YSA9IGhmaV8yMDE2KQojRXhlcmNpc2UgOC4gVGhlcmUgaXMgYSB3ZWFrIGNvcnJlbGVhdGlvbiBiZXR3ZWVuIHRoZSB2YXJpYWJsZXMKCiNFeGVyY2lzZSA5CmdncGxvdChkYXRhID0gbTEsIGFlcyh4ID0gLnJlc2lkKSkgKwogIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gMC4yNSkgKwogIHhsYWIoIlJlc2lkdWFscyIpCnBsb3QobW9kZWwsIHdoaWNoID0gMSkKI0lmIHRoZXJlIGlzIGEgYmVsbCBzaGFwZSBpdCBzaWduaWZpZXMgbm9ybWFsIHJlc2lkdWFsIGNvbmRpdGlvbnMKCiNFeGVyY2lzZSAxMAojVGhlcmUgaXMgY29uc3RhbnQgdmFyaWFiaWxpdHkKI0NvbmRpdGlvbnMgTWV0OiBjb25zdGFudCB2YXJpYWJpbGl0eSBpcyBtZXQgaWYgdGhlIHBvaW50cyBhcmUgCiNzY2F0dGVyZWQgcmFuZG9tbHkgYXJvdW5kIHRoZSBob3Jpem9udGFsIGRhc2ggbGluZSAoeT0wKSB3aXRoCiNlcXVhbCB2ZXJ0aWNhbCBzcHJlYWQgYWNyb3NzIHRoZSB4LWF4aXMuIFRoaXMgc2hvd3MgdGhhdCB0aGUgCiNlcnJvciBpcyBjb25zaXN0ZW50IHJlZ2FyZGxlc3Mgb2YgcHJlZGljdGVkIHZhbHVl