hacking_religion_textbook/hacking_religion/.Rhistory

513 lines
42 KiB
R
Raw Normal View History

) %>% 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")