{"id":26451,"date":"2021-10-28T12:00:14","date_gmt":"2021-10-28T16:00:14","guid":{"rendered":"https:\/\/studentwork.prattsi.org\/infovis\/?p=26451"},"modified":"2021-10-28T12:18:03","modified_gmt":"2021-10-28T16:18:03","slug":"tracking-funding-during-the-2020-election-cycle","status":"publish","type":"post","link":"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/","title":{"rendered":"Tracking funding during the 2020 Election Cycle"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>In journalism, there is an old saying to &#8220;follow the money&#8221; to discover insights into the way systems can be influenced by capital. While it may sound like a metaphor, there is plenty of value in analyzing financial records, especially in the area of U.S. elections. This project explores financial transactions from the 2020 election cycle across all candidates who ran for federal office, downloaded through opensecrets.com. Open Secrets is a nonprofit organization dedicated to compiling millions of campaign finance records into datasets from the Federal Elections Commission. With a vast amount of data to work with covering every candidate possible, I figured this data would be interesting to visualize, with the goal of emphasizing money&#8217;s influence on politics.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https:\/\/rpubs.com\/kjsantos\/828105\" target=\"_blank\" rel=\"noreferrer noopener\">View Markdown on rpubs<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Inspiration<\/h2>\n\n\n\n<p>I&#8217;ve always been impressed by the visualizations produced during election cycles in the past. I wanted to try my hand at harnessing election data myself, but wasn&#8217;t too inspired by some of the data I came across in my research. Initially, I wanted to look at polling data to pull trends from average polls from a variety of sources, but I figured this work has been done in the past and would be a massive undertaking to compile. In researching other sources, I came upon Open Secrets, which mainly focuses on finances tied to federal election candidates. I signed up for an account to download datasets from the <a rel=\"noreferrer noopener\" href=\"https:\/\/www.opensecrets.org\/bulk-data\/downloads\" target=\"_blank\">bulk data download page<\/a> and read up on the documentation and data dictionaries included to understand the fields better. Upon parsing through the different datasets, the one that stuck out to me most highlights contributions to candidates from Political Action Committees, which often hold the largest donation amount for any given candidate. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/cdn.vox-cdn.com\/thumbor\/XZpW4dx1K99j-bapo7nRxm2yKfA%3D\/1400x0\/filters%3Ano_upscale%28%29\/cdn.vox-cdn.com\/uploads\/chorus_asset\/file\/13320169\/Screen_Shot_2018_10_23_at_1.05.34_PM.png?w=840&#038;ssl=1\" alt=\"\" \/><figcaption>Example election visualization from FiveThirtyEight <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Methodology and Process<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tools<\/h3>\n\n\n\n<p>For this project, I made use of the <a rel=\"noreferrer noopener\" href=\"http:\/\/www.r-project.org\" target=\"_blank\">R programming language<\/a> with help from <a rel=\"noreferrer noopener\" href=\"https:\/\/www.rstudio.com\" target=\"_blank\">RStudio<\/a>, an interactive development environment that organizes project files, run scripts, and create markdown presentations to upload on the web. R is one of the leading industry-standard tools for programming and visualization, especially in statistical settings. To support the default packages included in R, I also installed other useful packages to aid in visualization, such as <a rel=\"noreferrer noopener\" href=\"https:\/\/www.tidyverse.org\/\" target=\"_blank\">Tidyverse<\/a>, <a rel=\"noreferrer noopener\" href=\"https:\/\/cran.r-project.org\/web\/packages\/viridis\/vignettes\/intro-to-viridis.html\" target=\"_blank\">Viridis<\/a>, and <a rel=\"noreferrer noopener\" href=\"https:\/\/plotly.com\/r\/\" target=\"_blank\">plotly<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Preparation<\/h3>\n\n\n\n<p>In order to get the datasets organized in a working format, I first had to upload them to OpenRefine to tidy up any anomalies and formatting issues. The data available for download from Open Secrets is in CSV format, but as shown in the image below, there are additional characters on either side of the values that need to be removed and it will only open as a .txt file. Additionally, the PAC dataset contains around 890,000 rows, which I was sure could be reduced further.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"646\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM-1024x787.png?resize=840%2C646&#038;ssl=1\" alt=\"\" class=\"wp-image-26453\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?resize=1024%2C787&amp;ssl=1 1024w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?resize=300%2C231&amp;ssl=1 300w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?resize=768%2C590&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?resize=800%2C615&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?resize=234%2C180&amp;ssl=1 234w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-10.54.03-AM.png?w=1332&amp;ssl=1 1332w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption>Raw PAC contribution data from Open Secrets<\/figcaption><\/figure>\n\n\n\n<p>Using OpenRefine, I removed any columns that were unnecessary for my analysis, and removed the vertical bars in columns that contained them. Because the data did not contain any specific identifiers for the candidates to whom donations were made, I also cleaned up the candidates dataset, with the intention of combining the two tables based on Candidate ID.<\/p>\n\n\n\n<div class=\"wp-block-jetpack-tiled-gallery aligncenter is-style-rectangular\"><div class=\"tiled-gallery__gallery\"><div class=\"tiled-gallery__row\"><div class=\"tiled-gallery__col\" style=\"flex-basis:100.00000%\"><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png?strip=info&#038;w=600 600w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png?strip=info&#038;w=900 900w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png?strip=info&#038;w=1200 1200w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png?strip=info&#038;w=1500 1500w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png?strip=info&#038;w=1518 1518w\" alt=\"\" data-height=\"478\" data-id=\"26455\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/?attachment_id=26455\" data-url=\"http:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png\" data-width=\"1518\" src=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.41-AM-1024x322.png\" data-amp-layout=\"responsive\" \/><\/figure><\/div><\/div><div class=\"tiled-gallery__row\"><div class=\"tiled-gallery__col\" style=\"flex-basis:100.00000%\"><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.13-AM-1-1024x485.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.13-AM-1-1024x485.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.13-AM-1-1024x485.png?strip=info&#038;w=1056&#038;ssl=1 1056w\" alt=\"\" data-height=\"500\" data-id=\"26456\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/?attachment_id=26456\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.13-AM-1-1024x485.png\" data-width=\"1056\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.07.13-AM-1-1024x485.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><\/div><\/div><\/div><\/div>\n\n\n\n<p>Once the data was exported in CSV format, I then took to creating my R project using the newly improved datasets.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Visualizing the Data<\/h3>\n\n\n\n<p>Although I have worked with joins in the past using SQL and Python, I had never experimented with manipulating datasets in R. To approach this, I did some research on what tools are available to accomplish this task in R. I decided on applying a full join on the two datasets, which combines all columns of the dataset based on Candidate ID, filling any rows of duplicates IDs from the PAC contribution dataset with the proper candidate information from the candidates dataset. The function I used to do this was <code>combined &lt;- full_join(candidates_concat, pac_donations)<\/code>, where <code>candidates_concat<\/code> is a reduced dataset removing other unnecessary columns\/records.<\/p>\n\n\n\n<p>I noticed that after combining the data, there were a few duplicate values which could be eliminated. To do this, I transformed the data using <code>combined &lt;- distinct(combined)<\/code> to remove any matching rows. I then filtered the dataset to remove any candidates without PAC contributions for that election cycle to closely match the original number of records in the PAC dataset. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"116\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM-1024x141.png?resize=840%2C116&#038;ssl=1\" alt=\"\" class=\"wp-image-26457\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=1024%2C141&amp;ssl=1 1024w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=300%2C41&amp;ssl=1 300w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=768%2C106&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=1536%2C211&amp;ssl=1 1536w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=2048%2C281&amp;ssl=1 2048w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=800%2C110&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?resize=400%2C55&amp;ssl=1 400w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?w=1680 1680w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-11.27.05-AM.png?w=2520 2520w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><figcaption>The result from combining the datasets<\/figcaption><\/figure>\n\n\n\n<p>After creating a dataframe containing all the relevant info needed to create visualizations, I began to experiment with R tools to see what may be possible. I started with a simple <code>geom_col()<\/code> plot showing the total PAC contributions (in millions) to each party across all elections during the 2020 cycle.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"519\" src=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1024x633.png?resize=840%2C519&#038;ssl=1\" alt=\"\" class=\"wp-image-26458\" srcset=\"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?resize=1024%2C633&amp;ssl=1 1024w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?resize=300%2C185&amp;ssl=1 300w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?resize=768%2C475&amp;ssl=1 768w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?resize=800%2C494&amp;ssl=1 800w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?resize=291%2C180&amp;ssl=1 291w, https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1.png?w=1400&amp;ssl=1 1400w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>While this visualization is hardly surprising, it is interesting to see exactly how much more money the Republican and Democratic parties accept from PACs compared to other parties. With a bit more practice using R, I was able to create a few more datasets from the original combined one, utilizing aggregate functions, mathematical mutations, and other useful functions within the <code>tidyverse<\/code> package. Below are a few examples of the visualizations I&#8217;ve created; to view all, <a rel=\"noreferrer noopener\" href=\"https:\/\/rpubs.com\/kjsantos\/828105\" target=\"_blank\">see the full markdown project on RPubs<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-jetpack-tiled-gallery aligncenter is-style-columns\"><div class=\"tiled-gallery__gallery\"><div class=\"tiled-gallery__row\"><div class=\"tiled-gallery__col\" style=\"flex-basis:52.73279%\"><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png?strip=info&#038;w=1200&#038;ssl=1 1200w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png?strip=info&#038;w=1400&#038;ssl=1 1400w\" alt=\"\" data-height=\"865\" data-id=\"26461\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/bar1-1\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png\" data-width=\"1400\" src=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/bar1-1-1024x633.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=1200&#038;ssl=1 1200w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=1500&#038;ssl=1 1500w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=1800&#038;ssl=1 1800w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?strip=info&#038;w=2000&#038;ssl=1 2000w\" alt=\"\" data-height=\"3840\" data-id=\"26462\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/demprimary\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png\" data-width=\"4608\" src=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/demprimary-1024x853.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/newplot-1024x683.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/newplot-1024x683.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/newplot-1024x683.png?strip=info&#038;w=1152&#038;ssl=1 1152w\" alt=\"\" data-height=\"768\" data-id=\"26464\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/newplot\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/newplot-1024x683.png\" data-width=\"1152\" src=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/newplot-1024x683.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><\/div><div class=\"tiled-gallery__col\" style=\"flex-basis:47.26721%\"><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?strip=info&#038;w=1200&#038;ssl=1 1200w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?strip=info&#038;w=1500&#038;ssl=1 1500w,https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?strip=info&#038;w=1758&#038;ssl=1 1758w\" alt=\"\" data-height=\"1522\" data-id=\"26466\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/screen-shot-2021-10-28-at-12-05-17-pm\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png\" data-width=\"1758\" src=\"https:\/\/i2.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Screen-Shot-2021-10-28-at-12.05.17-PM-1024x887.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=1200&#038;ssl=1 1200w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=1500&#038;ssl=1 1500w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=1800&#038;ssl=1 1800w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?strip=info&#038;w=2000&#038;ssl=1 2000w\" alt=\"\" data-height=\"1536\" data-id=\"26467\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/unknown-2\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png\" data-width=\"2304\" src=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-2-1024x683.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><figure class=\"tiled-gallery__item\"><img decoding=\"async\" srcset=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=600&#038;ssl=1 600w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=900&#038;ssl=1 900w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=1200&#038;ssl=1 1200w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=1500&#038;ssl=1 1500w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=1800&#038;ssl=1 1800w,https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?strip=info&#038;w=2000&#038;ssl=1 2000w\" alt=\"\" data-height=\"1920\" data-id=\"26468\" data-link=\"https:\/\/studentwork.prattsi.org\/infovis\/visualization\/tracking-funding-during-the-2020-election-cycle\/attachment\/unknown\/\" data-url=\"https:\/\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png\" data-width=\"2304\" src=\"https:\/\/i1.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Unknown-1024x853.png?ssl=1\" data-amp-layout=\"responsive\" \/><\/figure><\/div><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Reflection<\/h2>\n\n\n\n<p>This project was an interesting one to explore, given my background in coding and visualization using other software and languages. Though I could have used Python to complete my research and analysis, this was an important exercise in diversifying my approaches to working with data. Though I was new to R, I found the language to be fairly intuitive with the general knowledge of data structures I possessed previously. Learning a new language, however, is not without its drawbacks as it often took some Google searches to better understand how to use certain functions, setting me back in terms of time spent on a given task. However, with the help of feedback from my peer reviewer, I was able to edit some design choices such as keeping consistent colors for similar visualizations (i.e. the winners\/losers visualization), as well as exploring plotly for more interactivity.<\/p>\n\n\n\n<p>The visualizations I created, while not too surprising, definitely provided insights that confirm the influence of money in politics. The visualizations I thought to be most insightful were the Democratic primary timeline as well as both visualizations of PAC contributions to winning and losing candidates. Looking at the Democratic primary timeline, Joe Biden receives far more PAC donations from the beginning of his campaign, which continues to trend upward until his eventual victory. The winners and losers timeline does not include presidential election donations to avoid any outliers, yet it is still clear that the winners in each election simply outspent their competitors by way of PAC contributions. <\/p>\n\n\n\n<p>Overall, I enjoyed analyzing the data from Open Secrets, despite the disorganized format it was originally downloaded in. For future visualizations, I would love to explore some of the design-specific packages in R to increase the aesthetic value of my visualizations, and add more interactivity to my plots. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<ul class=\"has-medium-font-size wp-block-list\"><li><a href=\"http:\/\/www.r-project.org\/\">http:\/\/www.r-project.org\/<\/a><\/li><li><a href=\"https:\/\/www.rstudio.com\/&#010;https:\/\/www.opensecrets.org\/&#010;https:\/\/www.opensecrets.org\/open-data\/bulk-data-documentation\">https:\/\/www.rstudio.com\/<\/a><\/li><li><a href=\"https:\/\/www.rstudio.com\/&#010;https:\/\/www.opensecrets.org\/&#010;https:\/\/www.opensecrets.org\/open-data\/bulk-data-documentation\">https:\/\/www.opensecrets.org\/<\/a><\/li><li><a href=\"https:\/\/www.rstudio.com\/&#010;https:\/\/www.opensecrets.org\/&#010;https:\/\/www.opensecrets.org\/open-data\/bulk-data-documentation\">https:\/\/www.opensecrets.org\/open-data\/bulk-data-documentation<\/a><\/li><li><a href=\"https:\/\/www.tidyverse.org\/\">https:\/\/www.tidyverse.org\/<\/a><\/li><li><a href=\"https:\/\/cran.r-project.org\/web\/packages\/viridis\/vignettes\/intro-to-viridis.html\">https:\/\/cran.r-project.org\/web\/packages\/viridis\/vignettes\/intro-to-viridis.html<\/a><\/li><li><a href=\"https:\/\/plotly.com\/r\/\">https:\/\/plotly.com\/r\/<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In journalism, there is an old saying to &#8220;follow the money&#8221; to discover insights into the way systems can be influenced by capital. While it may sound like a metaphor, there is plenty of value in analyzing financial records, especially in the area of U.S. elections. This project explores financial transactions from the 2020&hellip;<\/p>\n","protected":false},"author":3910,"featured_media":26469,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[340,1],"tags":[],"coauthors":[1676],"class_list":["post-26451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charts","category-visualization"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/studentwork.prattsi.org\/infovis\/wp-content\/uploads\/sites\/3\/2021\/10\/Voting.png?fit=1024%2C512&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paBdcV-6SD","_links":{"self":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/26451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/users\/3910"}],"replies":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/comments?post=26451"}],"version-history":[{"count":3,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/26451\/revisions"}],"predecessor-version":[{"id":26471,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/posts\/26451\/revisions\/26471"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/media\/26469"}],"wp:attachment":[{"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/media?parent=26451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/categories?post=26451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/tags?post=26451"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/studentwork.prattsi.org\/infovis\/wp-json\/wp\/v2\/coauthors?post=26451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}