Overview

This Joe Biden Approval rating data is gathered from publicly available surveys from 2021 to 2023. Essentially, If the average approval rating on a given day is greater than 50% or either approval is higher than the counter part, it is marked as “approve” and vice versa. Source: https://fivethirtyeight.com/methodology/how-our-polling-averages-work/

library(tidyverse)
## Warning: package 'dplyr' was built under R version 4.4.1
library(openintro)
## Warning: package 'openintro' was built under R version 4.4.1
library(ggplot2)
library(dplyr)

Rename columns + transform data

names(df)[names(df)==c("pct_estimate", "lo", "hi")]<-c("Average_percentage", "low end percentage", "upper end percentage")
#drop the last two columns
df<-subset(df, select=c(1:4))
#transform data into wider form
df<-df %>%
  pivot_wider(
    names_from = answer,
    values_from = 'Average_percentage'
  )
#add a conclusion column
df<- df %>%
  mutate(Conclusion = case_when(
    Approve > Disapprove ~"Approve",
    Disapprove > Approve ~"Disapprove"
    ))

generate a graph for the approval vs disapporval rating count

ggplot(df, aes(x = Conclusion, fill=Conclusion), color=Conclusion)+
  geom_bar() +
  labs(title='Joe Biden Approval/Disapproval rating from 2021 to 2023', x = '', y ='rating counted')

## generate a graph for the approval vs disapporval rating graph over time by years

df1<- format(as.Date(df$date), "%Y")
df<-df %>%
  mutate('only_year'= df1)

ggplot(df, aes(x=only_year, fill=Conclusion, color=Conclusion))+
  geom_bar()

Conclsuion and future improvement:

Joe Biden has an overall disapproval rating from 2021 to 2023. A further analysis can be done to zoom into the months of the year and draw connection to the political situations at the time to understand the polls. It will involve transforming the “date” column further.

LS0tDQp0aXRsZTogIkpvZSBCaWRlbiBBcHByb3ZhbCBSYXRpbmcgZnJvbSAyMDIxLTIwMjMiDQphdXRob3I6ICJDaGkgSGFuZyAoUGhpbGlwKSBDaGV1bmciDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6IG9wZW5pbnRybzo6bGFiX3JlcG9ydA0KLS0tDQojIE92ZXJ2aWV3DQpUaGlzIEpvZSBCaWRlbiBBcHByb3ZhbCByYXRpbmcgZGF0YSBpcyBnYXRoZXJlZCBmcm9tIHB1YmxpY2x5IGF2YWlsYWJsZSBzdXJ2ZXlzIGZyb20gMjAyMSB0byAyMDIzLiBFc3NlbnRpYWxseSwgSWYgdGhlIGF2ZXJhZ2UgYXBwcm92YWwgcmF0aW5nIG9uIGEgZ2l2ZW4gZGF5IGlzIGdyZWF0ZXIgdGhhbiA1MCUgb3IgZWl0aGVyIGFwcHJvdmFsIGlzIGhpZ2hlciB0aGFuIHRoZSBjb3VudGVyIHBhcnQsIGl0IGlzIG1hcmtlZCBhcyAiYXBwcm92ZSIgYW5kIHZpY2UgdmVyc2EuDQpTb3VyY2U6DQpodHRwczovL2ZpdmV0aGlydHllaWdodC5jb20vbWV0aG9kb2xvZ3kvaG93LW91ci1wb2xsaW5nLWF2ZXJhZ2VzLXdvcmsvDQoNCmBgYHtyIGxvYWQtcGFja2FnZXMsIG1lc3NhZ2U9RkFMU0V9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkob3BlbmludHJvKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQoNCg0KIyMgVG8gZ2V0IHRoZSBDU1YgZnJvbSBHaXRodWIgbGluaw0KYGBge3IgY29kZS1jaHVuay1sYWJlbDF9DQpkZjwtIHJlYWQuY3N2KCJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZml2ZXRoaXJ0eWVpZ2h0L2RhdGEvY2RhYzliOGNjNTI1YTQ5OWQxY2YzNmZhMDc5YTcxMjdiNTZhZWJjNi9wb2xscy9vbGRfbW9kZWwvam9lX2JpZGVuX2FwcHJvdmFsX29sZF9tb2RlbC5jc3YiLCBoZWFkZXI9VFJVRSkNCmBgYA0KDQojIyBSZW5hbWUgY29sdW1ucyArIHRyYW5zZm9ybSBkYXRhDQpgYGB7ciBjb2RlLWNodW5rLWxhYmVsMn0NCm5hbWVzKGRmKVtuYW1lcyhkZik9PWMoInBjdF9lc3RpbWF0ZSIsICJsbyIsICJoaSIpXTwtYygiQXZlcmFnZV9wZXJjZW50YWdlIiwgImxvdyBlbmQgcGVyY2VudGFnZSIsICJ1cHBlciBlbmQgcGVyY2VudGFnZSIpDQojZHJvcCB0aGUgbGFzdCB0d28gY29sdW1ucw0KZGY8LXN1YnNldChkZiwgc2VsZWN0PWMoMTo0KSkNCiN0cmFuc2Zvcm0gZGF0YSBpbnRvIHdpZGVyIGZvcm0NCmRmPC1kZiAlPiUNCiAgcGl2b3Rfd2lkZXIoDQogICAgbmFtZXNfZnJvbSA9IGFuc3dlciwNCiAgICB2YWx1ZXNfZnJvbSA9ICdBdmVyYWdlX3BlcmNlbnRhZ2UnDQogICkNCiNhZGQgYSBjb25jbHVzaW9uIGNvbHVtbg0KZGY8LSBkZiAlPiUNCiAgbXV0YXRlKENvbmNsdXNpb24gPSBjYXNlX3doZW4oDQogICAgQXBwcm92ZSA+IERpc2FwcHJvdmUgfiJBcHByb3ZlIiwNCiAgICBEaXNhcHByb3ZlID4gQXBwcm92ZSB+IkRpc2FwcHJvdmUiDQogICAgKSkNCmBgYA0KDQojIyBnZW5lcmF0ZSBhIGdyYXBoIGZvciB0aGUgYXBwcm92YWwgdnMgZGlzYXBwb3J2YWwgcmF0aW5nIGNvdW50DQpgYGB7ciBjb2RlLWNodW5rLWxhYmVsM30NCmdncGxvdChkZiwgYWVzKHggPSBDb25jbHVzaW9uLCBmaWxsPUNvbmNsdXNpb24pLCBjb2xvcj1Db25jbHVzaW9uKSsNCiAgZ2VvbV9iYXIoKSArDQogIGxhYnModGl0bGU9J0pvZSBCaWRlbiBBcHByb3ZhbC9EaXNhcHByb3ZhbCByYXRpbmcgZnJvbSAyMDIxIHRvIDIwMjMnLCB4ID0gJycsIHkgPSdyYXRpbmcgY291bnRlZCcpDQoNCmBgYA0KIyMgZ2VuZXJhdGUgYSBncmFwaCBmb3IgdGhlIGFwcHJvdmFsIHZzIGRpc2FwcG9ydmFsIHJhdGluZyBncmFwaCBvdmVyIHRpbWUgYnkgeWVhcnMNCmBgYHtyIGNvZGUtY2h1bmstbGFiZWw0fQ0KZGYxPC0gZm9ybWF0KGFzLkRhdGUoZGYkZGF0ZSksICIlWSIpDQpkZjwtZGYgJT4lDQogIG11dGF0ZSgnb25seV95ZWFyJz0gZGYxKQ0KDQpnZ3Bsb3QoZGYsIGFlcyh4PW9ubHlfeWVhciwgZmlsbD1Db25jbHVzaW9uLCBjb2xvcj1Db25jbHVzaW9uKSkrDQogIGdlb21fYmFyKCkNCmBgYA0KDQojIyBDb25jbHN1aW9uIGFuZCBmdXR1cmUgaW1wcm92ZW1lbnQ6IA0KSm9lIEJpZGVuIGhhcyBhbiBvdmVyYWxsIGRpc2FwcHJvdmFsIHJhdGluZyBmcm9tIDIwMjEgdG8gMjAyMy4gQSBmdXJ0aGVyIGFuYWx5c2lzIGNhbiBiZSBkb25lIHRvIHpvb20gaW50byB0aGUgbW9udGhzIG9mIHRoZSB5ZWFyIGFuZCBkcmF3IGNvbm5lY3Rpb24gdG8gdGhlIHBvbGl0aWNhbCBzaXR1YXRpb25zIGF0IHRoZSB0aW1lIHRvIHVuZGVyc3RhbmQgdGhlIHBvbGxzLiBJdCB3aWxsIGludm9sdmUgdHJhbnNmb3JtaW5nIHRoZSAiZGF0ZSIgY29sdW1uIGZ1cnRoZXIuDQoNCiMjIFJQdWIgbGluazoNCmh0dHBzOi8vcnB1YnMuY29tL3N0b3Jtd2hhbGUvMTIxNTU3MA0KDQoNCg0KDQo=