mirror of
				https://github.com/kidwellj/hacking_religion_textbook.git
				synced 2025-10-31 02:24:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			512 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			512 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| ## we need to convert data to factors on named response data
 | |
| climate_experience_data$Q67 <- climate_experience_data$Q67 %>%
 | |
| mutate(
 | |
| income_bin = case_when(
 | |
| as.data.frame(climate_experience_data$Q67) > 6 ~ "high",
 | |
| as.data.frame(climate_experience_data$Q67) < 3 ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| ## Q8 subsetting based on confidence on views
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| mutate(
 | |
| Q8_bin = case_when(
 | |
| Q8_1 > mean(Q8_1) + sd(Q8_1) ~ "high",
 | |
| Q8_1 < mean(Q8_1) - sd(Q8_1) ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| # Q53 subsetting based on Political LR orientation:
 | |
| # Generate low/med/high bins based on Mean and SD
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| mutate(
 | |
| Q53_bin = case_when(
 | |
| Q53_1 > mean(Q53_1) + sd(Q53_1) ~ "high",
 | |
| Q53_1 < mean(Q53_1) - sd(Q53_1) ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| ## Q57 subsetting based on Religiosity
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| mutate(
 | |
| Q57_bin = case_when(
 | |
| Q57_1 > mean(Q57_1) + sd(Q57_1) ~ "high",
 | |
| Q57_1 < mean(Q57_1) - sd(Q57_1) ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| ## Subsetting based on Spirituality
 | |
| # Calculate overall mean nature-relatedness score based on six questions:
 | |
| climate_experience_data$Q51_score <- rowMeans(select(climate_experience_data, Q51_remote_vacation:Q51_heritage))
 | |
| # Create low/med/high bins based on Mean and +1/-1 Standard Deviation
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| mutate(
 | |
| Q51_bin = case_when(
 | |
| Q51_score > mean(Q51_score) + sd(Q51_score) ~ "high",
 | |
| Q51_score < mean(Q51_score) - sd(Q51_score) ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| # Calculate overall mean spirituality score based on six questions:
 | |
| climate_experience_data$Q52_score <- rowMeans(select(climate_experience_data, Q52a_1:Q52f_1))
 | |
| # Create low/med/high bins based on Mean and +1/-1 Standard Deviation
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| mutate(
 | |
| Q52_bin = case_when(
 | |
| Q52_score > mean(Q52_score) + sd(Q52_score) ~ "high",
 | |
| Q52_score < mean(Q52_score) - sd(Q52_score) ~ "low",
 | |
| TRUE ~ "medium"
 | |
| ) %>% factor(levels = c("low", "medium", "high"))
 | |
| )
 | |
| # Generate new column with simplified postcode area data (only initial alpha characters)
 | |
| # Note: this data has been embargoed for the sake of respondent confidentiality and will not likely be included in any future releases
 | |
| climate_experience_data$postcode_area <- str_to_upper(str_extract(climate_experience_data_named$Q68, "^([A-Z,a-z]){1,}"))
 | |
| # Generate new column with simplified postcode area data (only initial alpha characters)
 | |
| # Note: this data has been embargoed for the sake of respondent confidentiality and will not likely be included in any future releases
 | |
| climate_experience_data$postcode_area <- str_to_upper(str_extract(climate_experience_data$Q68, "^([A-Z,a-z]){1,}"))
 | |
| # Add identifier flagging London residents
 | |
| climate_experience_data <- climate_experience_data %>%
 | |
| rowwise() %>%
 | |
| mutate(
 | |
| isLondon = case_when(
 | |
| postcode_area == "E" ~ "1",
 | |
| postcode_area == "EC" ~ "1",
 | |
| postcode_area == "N" ~ "1",
 | |
| postcode_area == "NW" ~ "1",
 | |
| postcode_area == "SE" ~ "1",
 | |
| postcode_area == "SW" ~ "1",
 | |
| postcode_area == "W" ~ "1",
 | |
| postcode_area == "WC" ~ "1",
 | |
| TRUE ~ "0"
 | |
| )
 | |
| )
 | |
| #| include: true
 | |
| #| label: fig-polar
 | |
| setwd("/Users/kidwellj/gits/hacking_religion_textbook/hacking_religion")
 | |
| library(here)  |> suppressPackageStartupMessages()
 | |
| library(tidyverse)  |> suppressPackageStartupMessages()
 | |
| here::i_am("chapter_1.qmd")
 | |
| # Set up local workspace:
 | |
| if (dir.exists("data") == FALSE) {
 | |
| dir.create("data")
 | |
| }
 | |
| if (dir.exists("figures") == FALSE) {
 | |
| dir.create("figures")
 | |
| }
 | |
| if (dir.exists("derivedData") == FALSE) {
 | |
| dir.create("derivedData")
 | |
| }
 | |
| uk_census_2021_religion <- read.csv(here("example_data", "census2021-ts030-rgn.csv"))
 | |
| head(uk_census_2021_religion)
 | |
| knitr::kable(head(uk_census_2021_religion))
 | |
| knitr::kable(head(uk_census_2021_religion))
 | |
| uk_census_2021_religion_wmids <- uk_census_2021_religion_wmids %>% select(no_religion:no_response)
 | |
| uk_census_2021_religion_wmids <- uk_census_2021_religion %>% filter(geography=="West Midlands")
 | |
| uk_census_2021_religion_wmids <- uk_census_2021_religion_wmids %>% select(no_religion:no_response)
 | |
| uk_census_2021_religion_wmids <- gather(uk_census_2021_religion_wmids)
 | |
| df <- uk_census_2021_religion_wmids[order(uk_census_2021_religion_wmids$value,decreasing = TRUE),]
 | |
| barplot(height=df$value, names=df$key)
 | |
| ggplot(uk_census_2021_religion_wmids, aes(x = key, y = value)) + geom_bar(stat = "identity") # <1>
 | |
| ggplot(uk_census_2021_religion_wmids, aes(x= reorder(key,-value),value)) + geom_bar(stat ="identity") # <2>
 | |
| uk_census_2021_religion_totals <- uk_census_2021_religion %>% select(no_religion:no_response) # <1>
 | |
| uk_census_2021_religion_totals <- uk_census_2021_religion_totals %>%
 | |
| summarise(across(everything(), ~ sum(., na.rm = TRUE)))  # <2>
 | |
| uk_census_2021_religion_totals <- gather(uk_census_2021_religion_totals) # <3>
 | |
| ggplot(uk_census_2021_religion_totals, aes(x= reorder(key,-value),value)) + geom_bar(stat ="identity") # <4>
 | |
| uk_census_2021_religion_merged <- rbind(uk_census_2021_religion_totals, uk_census_2021_religion_wmids)
 | |
| uk_census_2021_religion_totals$dataset <- c("totals")
 | |
| uk_census_2021_religion_wmids$dataset <- c("wmids")
 | |
| uk_census_2021_religion_merged <- rbind(uk_census_2021_religion_totals, uk_census_2021_religion_wmids)
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=dataset, x= reorder(key,-value), value)) + geom_bar(position="dodge", stat ="identity")
 | |
| uk_census_2021_religion_totals <- uk_census_2021_religion_totals %>%
 | |
| dplyr::mutate(perc = scales::percent(value / sum(value), accuracy = 0.1, trim = FALSE)) # <3>
 | |
| uk_census_2021_religion_wmids <- uk_census_2021_religion_wmids %>%
 | |
| dplyr::mutate(perc = scales::percent(value / sum(value), accuracy = 0.1, trim = FALSE)) # <3>
 | |
| uk_census_2021_religion_merged <- rbind(uk_census_2021_religion_totals, uk_census_2021_religion_wmids)
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=dataset, x=key, y=perc)) + geom_bar(position="dodge", stat ="identity")
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=dataset, x= reorder(key,-value), value)) + geom_bar(position="dodge", stat ="identity")
 | |
| uk_census_2021_religion_totals <- uk_census_2021_religion_totals %>%
 | |
| dplyr::mutate(perc = scales::percent(value / sum(value), accuracy = 0.1, trim = FALSE)) # <3>
 | |
| uk_census_2021_religion_wmids <- uk_census_2021_religion_wmids %>%
 | |
| dplyr::mutate(perc = scales::percent(value / sum(value), accuracy = 0.1, trim = FALSE)) # <3>
 | |
| uk_census_2021_religion_merged <- rbind(uk_census_2021_religion_totals, uk_census_2021_religion_wmids)
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=dataset, x=key, y=perc)) + geom_bar(position="dodge", stat ="identity")
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=dataset, x=key, y=perc)) + geom_bar(position="dodge", stat ="identity") + scale_fill_brewer(palette = "Set1")
 | |
| uk_census_2021_religion_merged$dataset <- factor(uk_census_2021_religion_merged$dataset, levels = c('wmids', 'totals'))
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1")
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the UK: 2021") + xlab("") + ylab("")
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc))
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the UK: 2021") + xlab("") + ylab("")
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the UK: 2021") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_2021_religion_merged, aes(fill=fct_reorder(dataset, value), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| nomis_extract_census2021 <- readRDS(file = (here("example_data", "nomis_extract_census2021.rds")))
 | |
| #| column: margin
 | |
| uk_census_2021_religion_ethnicity <- select(nomis_extract_census2021, GEOGRAPHY_NAME, C2021_RELIGION_10_NAME, C2021_ETH_8_NAME, OBS_VALUE)  # <1>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C2021_RELIGION_10_NAME != "Total" & C2021_ETH_8_NAME != "Total") # <2>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White: English, Welsh, Scottish, Northern Irish or British" & C2021_ETH_8_NAME != "White: Irish" & C2021_ETH_8_NAME != "White: Gypsy or Irish Traveller, Roma or Other White") # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| uk_census_2021_religion_ethnicity <- select(nomis_extract_census2021, GEOGRAPHY_NAME, C2021_RELIGION_10_NAME, C2021_ETH_8_NAME, OBS_VALUE)  # <1>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C2021_RELIGION_10_NAME != "Total" & C2021_ETH_8_NAME != "Total") # <2>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White: English, Welsh, Scottish, Northern Irish or British" & C2021_ETH_8_NAME != "White: Irish" & C2021_ETH_8_NAME != "White: Gypsy or Irish Traveller, Roma or Other White") # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| #| column: margin
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE), x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE), x=reorder(key,-value),value, y=perc) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE, x=reorder(key,-value),value, y=perc)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| scale_y_continuous(labels = percent_format()
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_y_continuous(labels = percent_format())) # <4>
 | |
| uk_census_2021_religion_ethnicity <- select(nomis_extract_census2021, GEOGRAPHY_NAME, C2021_RELIGION_10_NAME, C2021_ETH_8_NAME, OBS_VALUE)  # <1>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C2021_RELIGION_10_NAME != "Total" & C2021_ETH_8_NAME != "Total") # <2>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White: English, Welsh, Scottish, Northern Irish or British" & C2021_ETH_8_NAME != "White: Irish" & C2021_ETH_8_NAME != "White: Gypsy or Irish Traveller, Roma or Other White") # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_y_continuous(labels = percent_format())) # <4>
 | |
| library(scales)
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_y_continuous(labels = percent_format())) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_y_continuous(labels = scales::percent_format())) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_x_discrete(labels = function(x) paste0(x, "%"))) # <4>
 | |
| percent_format_custom <- function(x) {
 | |
| paste0(formatC(as.numeric(x), format = "f", digits = 2), "%")
 | |
| }
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1) +
 | |
| scale_x_discrete(labels = percent_format_custom)) # <4>
 | |
| uk_census_2021_religion_ethnicity$OBS_VALUE <- percent(uk_census_2021_religion_ethnicity$OBS_VALUE / 100)
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| uk_census_2021_religion_ethnicity <- select(nomis_extract_census2021, GEOGRAPHY_NAME, C2021_RELIGION_10_NAME, C2021_ETH_8_NAME, OBS_VALUE)  # <1>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C2021_RELIGION_10_NAME != "Total" & C2021_ETH_8_NAME != "Total") # <2>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White: English, Welsh, Scottish, Northern Irish or British" & C2021_ETH_8_NAME != "White: Irish" & C2021_ETH_8_NAME != "White: Gypsy or Irish Traveller, Roma or Other White") # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| scale_x_log10() +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| uk_census_2021_religion_ethnicity
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_RELIGION_10_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100)
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| uk_census_2021_religion_ethnicity
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| #| column: margin
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- uk_census_2021_religion_ethnicity_nonwhite %>%
 | |
| group_by(C2021_RELIGION_10_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| View(uk_census_2021_religion_ethnicity)
 | |
| # TODO - fix display here so that's display is the same for Percentage as it is for OBS_VALUE
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Obsvalue)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| # TODO - fix display here so that's display is the same for Percentage as it is for OBS_VALUE
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <5>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + facet_wrap(~C2021_ETH_8_NAME, ncol = 2) + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- uk_census_2021_religion_ethnicity_nonwhite %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100) # <4>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100)
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| facet_wrap(~C2021_ETH_8_NAME, ncol = 2) + scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| nomis_extract_census2001 <- readRDS(file = (here("example_data", "nomis_extract_census2001.rds")))
 | |
| nomis_extract_census2011 <- readRDS(file = (here("example_data", "nomis_extract_census2011.rds")))
 | |
| uk_census_2001_religion_ethnicity <- select(nomis_extract_census2001, GEOGRAPHY_NAME, C_RELPUK11_NAME, C_ETHHUK11_NAME, OBS_VALUE) # <1>
 | |
| uk_census_2011_religion_ethnicity <- select(nomis_extract_census2011, GEOGRAPHY_NAME, C_RELPUK11_NAME, C_ETHPUK11_NAME, OBS_VALUE) # <1>
 | |
| uk_census_2001_religion_ethnicity <- filter(uk_census_2001_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C_RELPUK11_NAME != "All categories: Religion") # <2>
 | |
| uk_census_2011_religion_ethnicity <- filter(uk_census_2011_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C_RELPUK11_NAME != "All categories: Religion" & C_ETHPUK11_NAME != "All categories: Ethnic group")  # <2>
 | |
| uk_census_2001_religion_ethnicity <- uk_census_2001_religion_ethnicity %>% filter(grepl('Total', C_ETHHUK11_NAME)) # <3>
 | |
| uk_census_2011_religion_ethnicity <- uk_census_2011_religion_ethnicity %>% filter(grepl('Total', C_ETHPUK11_NAME)) # <3>
 | |
| uk_census_2011_religion_plot <- ggplot(uk_census_2011_religion_ethnicity, aes(x = C_RELPUK11_NAME, y = OBS_VALUE)) + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| uk_census_2001_religion_ethnicity$dataset <- c("2001") # <1>
 | |
| uk_census_2011_religion_ethnicity$dataset <- c("2011") # <1>
 | |
| uk_census_2021_religion_ethnicity$dataset <- c("2021") # <1>
 | |
| names(uk_census_2001_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| names(uk_census_2011_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| names(uk_census_2021_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| # Next we need to change the terms using mutate()
 | |
| uk_census_2001_religion_ethnicity <- uk_census_2001_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed: Total$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian: Total$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black or Black British: Total$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Chinese or Other ethnic group: Total$", replacement = "Other"))
 | |
| uk_census_2011_religion_ethnicity <- uk_census_2011_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed/multiple ethnic group: Total$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian/Asian British: Total$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black/African/Caribbean/Black British: Total$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Other ethnic group: Total$", replacement = "Other"))
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed or Multiple ethnic groups$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian, Asian British or Asian Welsh$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black, Black British, Black Welsh, Caribbean or African$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Other ethnic group$", replacement = "Other"))
 | |
| uk_census_2021_religion_ethnicity_percents <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100)
 | |
| uk_census_2021_religion_ethnicity <- select(nomis_extract_census2021, GEOGRAPHY_NAME, C2021_RELIGION_10_NAME, C2021_ETH_8_NAME, OBS_VALUE)  # <1>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C2021_RELIGION_10_NAME != "Total" & C2021_ETH_8_NAME != "Total") # <2>
 | |
| uk_census_2021_religion_ethnicity <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White: English, Welsh, Scottish, Northern Irish or British" & C2021_ETH_8_NAME != "White: Irish" & C2021_ETH_8_NAME != "White: Gypsy or Irish Traveller, Roma or Other White") # <3>
 | |
| ggplot(uk_census_2021_religion_ethnicity, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <4>
 | |
| uk_census_2021_religion_ethnicity_white <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME == "White") # <1>
 | |
| uk_census_2021_religion_ethnicity_nonwhite <- filter(uk_census_2021_religion_ethnicity, C2021_ETH_8_NAME != "White") # <2>
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) + geom_bar(position="dodge", stat ="identity", colour = "black") + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # <3>
 | |
| uk_census_2021_religion_ethnicity_percents <- uk_census_2021_religion_ethnicity %>%
 | |
| group_by(C2021_ETH_8_NAME) %>%
 | |
| mutate(Percentage = OBS_VALUE / sum(OBS_VALUE) * 100)
 | |
| ggplot(uk_census_2021_religion_ethnicity_percents, aes(fill=C2021_ETH_8_NAME, x=C2021_RELIGION_10_NAME, y=Percentage)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_2021_religion_ethnicity_nonwhite, aes(x=C2021_RELIGION_10_NAME, y=OBS_VALUE)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| facet_wrap(~C2021_ETH_8_NAME, ncol = 2) + scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2021 Census of England and Wales") + xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| nomis_extract_census2001 <- readRDS(file = (here("example_data", "nomis_extract_census2001.rds")))
 | |
| nomis_extract_census2011 <- readRDS(file = (here("example_data", "nomis_extract_census2011.rds")))
 | |
| uk_census_2001_religion_ethnicity <- select(nomis_extract_census2001, GEOGRAPHY_NAME, C_RELPUK11_NAME, C_ETHHUK11_NAME, OBS_VALUE) # <1>
 | |
| uk_census_2011_religion_ethnicity <- select(nomis_extract_census2011, GEOGRAPHY_NAME, C_RELPUK11_NAME, C_ETHPUK11_NAME, OBS_VALUE) # <1>
 | |
| uk_census_2001_religion_ethnicity <- filter(uk_census_2001_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C_RELPUK11_NAME != "All categories: Religion") # <2>
 | |
| uk_census_2011_religion_ethnicity <- filter(uk_census_2011_religion_ethnicity, GEOGRAPHY_NAME=="England and Wales" & C_RELPUK11_NAME != "All categories: Religion" & C_ETHPUK11_NAME != "All categories: Ethnic group")  # <2>
 | |
| uk_census_2001_religion_ethnicity <- uk_census_2001_religion_ethnicity %>% filter(grepl('Total', C_ETHHUK11_NAME)) # <3>
 | |
| uk_census_2011_religion_ethnicity <- uk_census_2011_religion_ethnicity %>% filter(grepl('Total', C_ETHPUK11_NAME)) # <3>
 | |
| uk_census_2011_religion_plot <- ggplot(uk_census_2011_religion_ethnicity, aes(x = C_RELPUK11_NAME, y = OBS_VALUE)) + geom_bar(stat = "identity") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| uk_census_2001_religion_ethnicity$dataset <- c("2001") # <1>
 | |
| uk_census_2011_religion_ethnicity$dataset <- c("2011") # <1>
 | |
| uk_census_2021_religion_ethnicity$dataset <- c("2021") # <1>
 | |
| names(uk_census_2001_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| names(uk_census_2011_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| names(uk_census_2021_religion_ethnicity) <- c("Geography", "Religion", "Ethnicity", "Value", "Year") # <2>
 | |
| # Next we need to change the terms using mutate()
 | |
| uk_census_2001_religion_ethnicity <- uk_census_2001_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed: Total$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian: Total$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black or Black British: Total$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Chinese or Other ethnic group: Total$", replacement = "Other"))
 | |
| uk_census_2011_religion_ethnicity <- uk_census_2011_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed/multiple ethnic group: Total$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian/Asian British: Total$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black/African/Caribbean/Black British: Total$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Other ethnic group: Total$", replacement = "Other"))
 | |
| uk_census_2021_religion_ethnicity <- uk_census_2021_religion_ethnicity %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^White: Total$", replacement = "White")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Mixed or Multiple ethnic groups$", replacement = "Mixed")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Asian, Asian British or Asian Welsh$", replacement = "Asian")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Black, Black British, Black Welsh, Caribbean or African$", replacement = "Black")) %>%
 | |
| mutate(Ethnicity = str_replace_all(Ethnicity,
 | |
| pattern = "^Other ethnic group$", replacement = "Other"))
 | |
| uk_census_merged_religion_ethnicity <- rbind(uk_census_2021_religion_ethnicity, uk_census_2011_religion_ethnicity)
 | |
| uk_census_merged_religion_ethnicity <- rbind(uk_census_merged_religion_ethnicity, uk_census_2001_religion_ethnicity)
 | |
| uk_census_merged_religion_ethnicity_nonwhite <- filter(uk_census_merged_religion_ethnicity, Ethnicity != "White")
 | |
| ggplot(uk_census_merged_religion_ethnicity_nonwhite, aes(fill=Year, x=Religion, y=Value)) + geom_bar(position="dodge", stat ="identity", colour = "black") + facet_wrap(~Ethnicity, ncol = 2) + scale_fill_brewer(palette = "Set1") + ggtitle("Religious Affiliation in the 2001-2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggplot(uk_census_merged_religion_ethnicity_nonwhite, aes(fill=Year, x=Religion, y=Value)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| facet_wrap(~Ethnicity, ncol = 2) +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| ggtitle("Religious Affiliation in the 2001-2021 Census of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| library(scales) |> suppressPackageStartupMessages()
 | |
| ggplot(uk_census_merged_religion_ethnicity_nonwhite, aes(fill=Year, x=Religion, y=Value)) + geom_bar(position="dodge", stat ="identity", colour = "black") + facet_wrap(~Ethnicity, ncol = 2) + scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = unit_format(unit = "M", scale = 1e-6), breaks = breaks_extended(8)) + ggtitle("Religious Affiliation in the 2001-2021 Census of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| uk_census_merged_religion_ethnicity <- uk_census_merged_religion_ethnicity %>%
 | |
| group_by(Ethnicity, Year) %>%
 | |
| dplyr::mutate(Percent = Value/sum(Value))
 | |
| ggplot(uk_census_merged_religion_ethnicity, aes(fill=Year, x=Religion, y=Percent)) + geom_bar(position="dodge", stat ="identity", colour = "black") + facet_wrap(~Ethnicity, scales="free_x") + scale_fill_brewer(palette = "Set1") + scale_y_continuous(labels = scales::percent) + ggtitle("Religious Affiliation in the 2001-2021 Censuses of England and Wales") + xlab("") + ylab("") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| uk_census_merged_religion_ethnicity_plot <- ggplot(uk_census_merged_religion_ethnicity, aes(fill=Year, x=Religion, y=Percent)) +
 | |
| geom_bar(position="dodge", stat ="identity", colour = "black") +
 | |
| facet_wrap(~Ethnicity, scales="free_x") +
 | |
| scale_fill_brewer(palette = "Set1") +
 | |
| scale_y_continuous(labels = scales::percent) +
 | |
| ggtitle("Religious Affiliation in the 2001-2021 Censuses of England and Wales") +
 | |
| xlab("") + ylab("") +
 | |
| theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
 | |
| ggsave("figures/chart.png", plot=uk_census_merged_religion_ethnicity_plot, width = 8, height = 10, units=c("in"))
 | |
| uk_census_merged_religion_ethnicity_plot
 | |
| setwd("/Users/kidwellj/gits/hacking_religion_textbook/hacking_religion")
 |