Get startedGet started for free

Adding a parameter to the report

In this exercise, you'll add a parameter for country to the report and modify the existing code so that you can create new reports about the investment projects for any country included in the investment_services_projects data.

This exercise is part of the course

Reporting with R Markdown

View Course

Exercise instructions

  • Below the date field in the YAML header, add a section for parameters using params, add a country parameter, and specify Brazil as the country within the country parameter.
  • Review the filter() for "Brazil" throughout the document, and replace it with a reference to the country parameter.
  • In the brazil-investment-projects code chunk, rename the code chunk to country-investment-projects and rename the brazil_investment_projects object to country_investment_projects.
  • In the brazil-investment-projects-2018 code chunk, rename the code chunk to country-investment-projects-2018 and rename the brazil_investment_projects_2018 object and any references in the text to it as country_investment_projects_2018.
  • Remove "in Brazil" from the plot titles in the report.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

{"investment_report.Rmd":"---\ntitle: \"Investment Report\"\noutput: \n  html_document:\n    toc: true\n    toc_float: true\ndate: \"`r format(Sys.time(), '%d %B %Y')`\"\n---\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(fig.align = 'center', echo = TRUE)\n```\n\n```{r data, include = FALSE}\nlibrary(readr)\nlibrary(dplyr)\nlibrary(ggplot2)\n\ninvestment_annual_summary <- read_csv(\"https://assets.datacamp.com/production/repositories/5756/datasets/d0251f26117bbcf0ea96ac276555b9003f4f7372/investment_annual_summary.csv\")\ninvestment_services_projects <- read_csv(\"https://assets.datacamp.com/production/repositories/5756/datasets/bcb2e39ecbe521f4b414a21e35f7b8b5c50aec64/investment_services_projects.csv\")\n```\n\n## Datasets \n\n### Investment Annual Summary\nThe `investment_annual_summary` dataset provides a summary of the dollars in millions provided to each region for each fiscal year, from 2012 to 2018.\n```{r investment-annual-summary}\nggplot(investment_annual_summary, aes(x = fiscal_year, y = dollars_in_millions, color = region)) +\n  geom_line() +\n  labs(\n    title = \"Investment Annual Summary\",\n    x = \"Fiscal Year\",\n    y = \"Dollars in Millions\"\n  )\n```\n\n### Investment Projects in Brazil\nThe `investment_services_projects` dataset provides information about each investment project from 2012 to 2018. Information listed includes the project name, company name, sector, project status, and investment amounts. Projects that do not have an associated investment amount are excluded from the plot.\n\n```{r brazil-investment-projects}\nbrazil_investment_projects <- investment_services_projects %>%\n  filter(country == \"Brazil\") \n\nggplot(brazil_investment_projects, aes(x = date_disclosed, y = total_investment, color = status)) +\n  geom_point() +\n  labs(\n    title = \"Investment Services Projects in Brazil\",\n    x = \"Date Disclosed\",\n    y = \"Total IFC Investment in Dollars in Millions\"\n  )\n```\n\n### Investment Projects in Brazil in 2018\nThe `investment_services_projects` dataset was filtered below to focus on information about each investment project from the 2018 fiscal year, and is referred to as `brazil_investment_projects_2018`. Projects that do not have an associated investment amount are excluded from the plot.\n\n```{r brazil-investment-projects-2018}\nbrazil_investment_projects_2018 <- investment_services_projects %>%\n  filter(country == \"Brazil\",\n         date_disclosed >= \"2017-07-01\",\n         date_disclosed <= \"2018-06-30\") \n\nggplot(brazil_investment_projects_2018, aes(x = date_disclosed, y = total_investment, color = status)) +\n  geom_point() +\n  labs(\n    title = \"Investment Services Projects in Brazil in 2018\",\n    x = \"Date Disclosed\",\n    y = \"Total IFC Investment in Dollars in Millions\"\n  ) \n```\n\n\n"}
Edit and Run Code