# This is where we load in all the packages we plan to use

# If there are any packages in the list that aren't installed,
# install them
if(!("needs" %in% installed.packages())) {
  install.packages("needs", repos = "http://cran.rstudio.com")
}

# Load the packages into R
library(needs)
needs(dplyr, babynames)
data("babynames", package = "babynames")

# Extracts package contents and appends it to Rprofile in wd
needs::toProfile()

The babynames data comes from the Social Security Administration and gives information about the Top 1000 names given to children in the USA since 1880 (http://www.ssa.gov/oact/babynames/limits.html). Notice that the data is called names above when we load it from the babynames package, but you will receive an error if you try to use names as your data frame before the %>%. This is just a quirk with how Hadley labeled things.

Problem

Identify how many people were born with parameterized first name (Jack) in the US in paramaterized year (1990).

entered_name <- params$name
entered_year <- params$year
result <- babynames %>% filter(name == entered_name) %>%
  filter(year == entered_year) %>%
  summarize(count = sum(n))
result
## # A tibble: 1 x 1
##   count
##   <int>
## 1  1831

Update inline text

We can reference values stored in R directly in your text.

Something like this:

We have determined that (of the top 1000 names) in 1990, there were # A tibble: 1 x 1, count, , 1 1831 babies born in the US with the first name ‘Jack’.

Additionally, we can produce output conditional on results using the ifelse function in R:

One more tweak: You can use the paste0 function to create a sentence based on values.

What a popular name!

Try this!

You’ll need to Run Current Chunk here to get the desired output.

names_array <- c("Hayden", "Justin", "Doug", "Mary")
years_array <- rep(1950, times = length(names_array))
rm(params)
for(i in 1:length(names_array)){
  rmarkdown::render("babynames_parameterized.Rmd", 
                    params = list(name = names_array[i], year = years_array[i]),
                    output_dir = "results",
                    output_file = paste0(names_array[i], "_", years_array[i], ".html")
  )
}
LS0tDQp0aXRsZTogIkJhYnluYW1lcyAoUGFyYW1ldGVyaXplZCkiDQphdXRob3I6ICJDaGVzdGVyIElzbWF5Ig0KZGF0ZTogIkF1Z3VzdCAxNywgMjAxNiINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IHNob3cNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQpwYXJhbXM6DQogIG5hbWU6IEphY2sNCiAgeWVhcjogMTk5MA0KLS0tDQoNCmBgYHtyIHNldHVwLCBtZXNzYWdlPUZBTFNFfQ0KIyBUaGlzIGlzIHdoZXJlIHdlIGxvYWQgaW4gYWxsIHRoZSBwYWNrYWdlcyB3ZSBwbGFuIHRvIHVzZQ0KDQojIElmIHRoZXJlIGFyZSBhbnkgcGFja2FnZXMgaW4gdGhlIGxpc3QgdGhhdCBhcmVuJ3QgaW5zdGFsbGVkLA0KIyBpbnN0YWxsIHRoZW0NCmlmKCEoIm5lZWRzIiAlaW4lIGluc3RhbGxlZC5wYWNrYWdlcygpKSkgew0KICBpbnN0YWxsLnBhY2thZ2VzKCJuZWVkcyIsIHJlcG9zID0gImh0dHA6Ly9jcmFuLnJzdHVkaW8uY29tIikNCn0NCg0KIyBMb2FkIHRoZSBwYWNrYWdlcyBpbnRvIFINCmxpYnJhcnkobmVlZHMpDQpuZWVkcyhkcGx5ciwgYmFieW5hbWVzKQ0KZGF0YSgiYmFieW5hbWVzIiwgcGFja2FnZSA9ICJiYWJ5bmFtZXMiKQ0KDQojIEV4dHJhY3RzIHBhY2thZ2UgY29udGVudHMgYW5kIGFwcGVuZHMgaXQgdG8gUnByb2ZpbGUgaW4gd2QNCm5lZWRzOjp0b1Byb2ZpbGUoKQ0KYGBgDQoNClRoZSBgYmFieW5hbWVzYCBkYXRhIGNvbWVzIGZyb20gdGhlIFNvY2lhbCBTZWN1cml0eSBBZG1pbmlzdHJhdGlvbiBhbmQgZ2l2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFRvcCAxMDAwIG5hbWVzIGdpdmVuIHRvIGNoaWxkcmVuIGluIHRoZSBVU0Egc2luY2UgMTg4MCAoPGh0dHA6Ly93d3cuc3NhLmdvdi9vYWN0L2JhYnluYW1lcy9saW1pdHMuaHRtbD4pLiBOb3RpY2UgdGhhdCB0aGUgZGF0YSBpcyBjYWxsZWQgYG5hbWVzYCBhYm92ZSB3aGVuIHdlIGxvYWQgaXQgZnJvbSB0aGUgYGJhYnluYW1lc2AgcGFja2FnZSwgYnV0IHlvdSB3aWxsIHJlY2VpdmUgYW4gZXJyb3IgaWYgeW91IHRyeSB0byB1c2UgYG5hbWVzYCBhcyB5b3VyIGRhdGEgZnJhbWUgYmVmb3JlIHRoZSBgJT4lYC4gIFRoaXMgaXMganVzdCBhIHF1aXJrIHdpdGggaG93IEhhZGxleSBsYWJlbGVkIHRoaW5ncy4gDQoNCiMjIFByb2JsZW0NCg0KSWRlbnRpZnkgaG93IG1hbnkgcGVvcGxlIHdlcmUgYm9ybiB3aXRoICoqcGFyYW1ldGVyaXplZCBmaXJzdCBuYW1lKiogKGByIHBhcmFtcyRuYW1lYCkgaW4gdGhlIFVTIGluICoqcGFyYW1hdGVyaXplZCB5ZWFyKiogKGByIHBhcmFtcyR5ZWFyYCkuDQoNCmBgYHtyIGV4YW1wbGV9DQplbnRlcmVkX25hbWUgPC0gcGFyYW1zJG5hbWUNCmVudGVyZWRfeWVhciA8LSBwYXJhbXMkeWVhcg0KcmVzdWx0IDwtIGJhYnluYW1lcyAlPiUgZmlsdGVyKG5hbWUgPT0gZW50ZXJlZF9uYW1lKSAlPiUNCiAgZmlsdGVyKHllYXIgPT0gZW50ZXJlZF95ZWFyKSAlPiUNCiAgc3VtbWFyaXplKGNvdW50ID0gc3VtKG4pKQ0KcmVzdWx0DQpgYGANCg0KIyMgVXBkYXRlIGlubGluZSB0ZXh0DQoNCldlIGNhbiByZWZlcmVuY2UgdmFsdWVzIHN0b3JlZCBpbiBSIGRpcmVjdGx5IGluIHlvdXIgdGV4dC4gIA0KDQoqKlNvbWV0aGluZyBsaWtlIHRoaXM6KioNCg0KV2UgaGF2ZSBkZXRlcm1pbmVkIHRoYXQgKG9mIHRoZSB0b3AgMTAwMCBuYW1lcykgaW4gYHIgZW50ZXJlZF95ZWFyYCwgdGhlcmUgd2VyZSBgciBmb3JtYXQocmVzdWx0LCBiaWcubWFyayA9ICcsJylgIGJhYmllcyBib3JuIGluIHRoZSBVUyB3aXRoIHRoZSBmaXJzdCBuYW1lICdgciBlbnRlcmVkX25hbWVgJy4NCg0KQWRkaXRpb25hbGx5LCB3ZSBjYW4gcHJvZHVjZSBvdXRwdXQgY29uZGl0aW9uYWwgb24gcmVzdWx0cyB1c2luZyB0aGUgYGlmZWxzZWAgZnVuY3Rpb24gaW4gUjoNCg0KYHIgaWZlbHNlKHJlc3VsdCA8IDUwMCwgIlRoZSBuYW1lIHlvdSBlbnRlcmVkIHdhcyBub3QgdmVyeSBwb3B1bGFyIGluIHRoYXQgeWVhci4iLCAiIilgDQoNCioqT25lIG1vcmUgdHdlYWsqKjogIFlvdSBjYW4gdXNlIHRoZSBgcGFzdGUwYCBmdW5jdGlvbiB0byBjcmVhdGUgYSBzZW50ZW5jZSBiYXNlZCBvbiB2YWx1ZXMuDQoNCmByIGlmZWxzZShyZXN1bHQgPCA1MDAsIHBhc3RlMCgiVGhlIG5hbWUgJyIsIGVudGVyZWRfbmFtZSwgIicgd2FzIG5vdCB2ZXJ5IHBvcHVsYXIgaW4gIiwgZW50ZXJlZF95ZWFyLCAiLiIpLCAiV2hhdCBhIHBvcHVsYXIgbmFtZSEiKWANCg0KIyMgVHJ5IHRoaXMhDQoNCllvdSdsbCBuZWVkIHRvIGBSdW4gQ3VycmVudCBDaHVua2AgaGVyZSB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0Lg0KDQpgYGB7ciB0cnlfdGhpcywgZXZhbCA9IEZBTFNFfQ0KbmFtZXNfYXJyYXkgPC0gYygiSGF5ZGVuIiwgIkp1c3RpbiIsICJEb3VnIiwgIk1hcnkiKQ0KeWVhcnNfYXJyYXkgPC0gcmVwKDE5NTAsIHRpbWVzID0gbGVuZ3RoKG5hbWVzX2FycmF5KSkNCnJtKHBhcmFtcykNCmZvcihpIGluIDE6bGVuZ3RoKG5hbWVzX2FycmF5KSl7DQogIHJtYXJrZG93bjo6cmVuZGVyKCJiYWJ5bmFtZXNfcGFyYW1ldGVyaXplZC5SbWQiLCANCiAgICAgICAgICAgICAgICAgICAgcGFyYW1zID0gbGlzdChuYW1lID0gbmFtZXNfYXJyYXlbaV0sIHllYXIgPSB5ZWFyc19hcnJheVtpXSksDQogICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXIgPSAicmVzdWx0cyIsDQogICAgICAgICAgICAgICAgICAgIG91dHB1dF9maWxlID0gcGFzdGUwKG5hbWVzX2FycmF5W2ldLCAiXyIsIHllYXJzX2FycmF5W2ldLCAiLmh0bWwiKQ0KICApDQp9DQpgYGANCg==