Report Details

articleID <- "27-6-2015" # insert the article ID code here e.g., "10-3-2015_PS"
reportType <- 'final'
pilotNames <- "Hannah Mieczkowski" # insert the pilot's name here e.g., "Tom Hardwicke". If there are multiple pilots enter both names in a character string e.g., "Tom Hardwicke, Bob Dylan"
copilotNames <- "Luiza Almeida Santos" # insert the co-pilot's name here e.g., "Michael Frank". If there are multiple co-pilots enter both names in a character string e.g., "Tom Hardwicke, Bob Dylan"
pilotTTC <- 180 # insert the pilot's estimated time to complete (in minutes, fine to approximate) e.g., 120
copilotTTC <- 30 # insert the co- pilot's estimated time to complete (in minutes, fine to approximate) e.g., 120
pilotStartDate <- as.Date("11/01/18", format = "%m/%d/%y") # insert the pilot's start date in US format e.g., as.Date("01/25/18", format = "%m/%d/%y")
copilotStartDate <- as.Date("05/09/18", format = "%m/%d/%y") # insert the co-pilot's start date in US format e.g., as.Date("01/25/18", format = "%m/%d/%y")
completionDate <- as.Date("11/01/18", format = "%m/%d/%y") # copilot insert the date of final report completion (after any necessary rounds of author assistance) in US format e.g., as.Date("01/25/18", format = "%m/%d/%y")

Methods summary:

The authors asked 107 MBA students to express their gratitude to another person through letters as part of a voluntary class exercise. They were encouraged to write these to another MBA student in the program but this was not mandatory. Students then answered a questionnaire reporting their own experience and predicting the recipient’s experience. They rated how surprised they thought the recipient would be after receiving the letter, how it would make the recipient feel and how awkward the recipient would feel. Students also reported on the current status of their relationship with the recipient.


Target outcomes:

The target outcomes were: expectations vs. actual experiences of receiving the letters. This was measured through surprise, overall feelings, and awkwardness. T-tests were conducted on these measures.

From the article: *“Consistent with many findings reported in the existing literature (e.g., Lyubomirsky et al., 2011; Seligman et al., 2005), our results showed that writing a gratitude letter was a positive experience. Expressers reported being in a significantly more positive mood than normal (M = 2.58, SD = 1.30), one-sample t(106) = 20.59, p < .0001, d = 1.98, and reported being in a more positive mood after sending the gratitude letter than they did at the baseline measurement (M = 0.46, SD = 1.66), t(98) = 10.89, p < .0001, d = 1.09.

As shown in Figure 1, expressers significantly underestimated how surprised recipients would be to receive the letter, paired-samples t(79) = 6.09, p < .0001, d = 0.68; underestimated how surprised they would be by the content of the letter, paired-samples t(79) = 3.49, p < .001, d = .40; underestimated how positive recipients would feel, paired-samples t(79) = 6.60, p < .0001, d = 0.74; and overestimated how awkward recipients would feel, paired-samples t(79) = −2.89, p < .01, d = 0.32. Expressers believed that receiving gratitude would be a relatively positive experience, but it was even more positive for recipients than they expected.

The correlations between expressers’ predicted ratings and their recipient’s actual ratings were consistently small, being significantly larger than zero only when expressers predicted surprise at receiving the letter (r = .35, p < .01). Accuracy correlations for predicted surprise at the content of the letter, mood, and awkwardness were all nonsignificantly different from zero (all ps > .2). Expressers did not appear to have great insight into their recipient’s unique experience, and they systematically underestimated how positive receiving gratitude would be for recipients.“*


Step 1: Load packages and prepare report object

# load packages
library(tidyverse) # for data munging
library(knitr) # for kable table formating
library(haven) # import and export 'SPSS', 'Stata' and 'SAS' Files
library(readxl) # import excel files
library(CARPSreports)# custom report functions
# Prepare report object. This will be updated automatically by the reproCheck function each time values are compared
reportObject <- data.frame(dummyRow = TRUE, reportedValue = NA, obtainedValue = NA, valueType = NA, percentageError = NA, comparisonOutcome = NA, eyeballCheck = NA)

Step 2: Load data

experiment1 = read_xls("/Users/Hannah/Downloads/CARPS_EXT_27-6-2015-master/data/Experiment1.xls")

Step 3: Tidy data

experiment1_tidy = experiment1 %>% filter(!is.na(RECIPIENT_GeneralSurpriseActual))

experiment1_tidy_plot = experiment1_tidy %>% gather(Type, Rating, SENDER_GeneralSurprise, RECIPIENT_GeneralSurpriseActual, SENDER_ContentSurprise, RECIPIENT_ContentSurpriseActual, SENDER_RecipientMoodPrediction, RECIPIENT_RecipientMoodActual,SENDER_RecipientAwkwardPrediction, RECIPIENT_RecipientAwkwardActual)

experiment1_tidy_plot_means = experiment1_tidy_plot %>% group_by(Type) %>% summarize(MeanRating = mean(Rating, na.rm = T))

Step 4: Run analysis

Inferential statistics

t_normal = t.test(experiment1$SENDER_SelfMoodActual, mu = 0, alternative = "two.sided")
t_normal
## 
##  One Sample t-test
## 
## data:  experiment1$SENDER_SelfMoodActual
## t = 20.586, df = 106, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  2.331017 2.827862
## sample estimates:
## mean of x 
##  2.579439
reportObject <- reproCheck(reportedValue = '2.58', obtainedValue = t_normal$estimate, valueType = 'mean')
## [1] "MATCH for mean. The reported value (2.58) and the obtained value (2.58) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '1.30', obtainedValue = sd(experiment1$SENDER_SelfMoodActual), valueType = 'sd')
## [1] "MATCH for sd. The reported value (1.3) and the obtained value (1.3) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '106', obtainedValue = t_normal$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (106) and the obtained value (106) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '20.59', obtainedValue = t_normal$statistic, valueType = 't')
## [1] "MATCH for t. The reported value (20.59) and the obtained value (20.59) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
t_baseline = t.test(experiment1$SENDER_BaselineMood, experiment1$SENDER_SelfMoodActual, paired = TRUE)
t_baseline
## 
##  Paired t-test
## 
## data:  experiment1$SENDER_BaselineMood and experiment1$SENDER_SelfMoodActual
## t = -10.895, df = 98, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -2.519528 -1.743099
## sample estimates:
## mean of the differences 
##               -2.131313
reportObject <- reproCheck(reportedValue = '.46', obtainedValue = .464, valueType = 'mean')
## [1] "MATCH for mean. The reported value (0.46) and the obtained value (0.46) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '1.66', obtainedValue = 1.66, valueType = 'sd')
## [1] "MATCH for sd. The reported value (1.66) and the obtained value (1.66) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '98', obtainedValue = t_baseline$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (98) and the obtained value (98) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '10.98', obtainedValue = t_baseline$statistic, valueType = 't')
## [1] "MAJOR_ERROR for t. The reported value (10.98) and the obtained value (-10.89) differed by 199.18%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
# Expressers reported being in a significantly more positive mood than normal (M = 2.58, SD = 1.30), one-sample t(106) = 20.59, p < .0001, d = 1.98, and reported being in a more positive mood after sending the gratitude letter than they did at the baseline measurement (M = 0.46, SD = 1.66), t(98) = 10.89, p < .0001, d = 1.09. 
##MATCH


t_surprise =t.test(experiment1_tidy$RECIPIENT_GeneralSurpriseActual, experiment1_tidy$SENDER_GeneralSurprise, paired = TRUE)
t_surprise
## 
##  Paired t-test
## 
## data:  experiment1_tidy$RECIPIENT_GeneralSurpriseActual and experiment1_tidy$SENDER_GeneralSurprise
## t = 6.0862, df = 79, p-value = 3.917e-08
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  1.211323 2.388677
## sample estimates:
## mean of the differences 
##                     1.8
reportObject <- reproCheck(reportedValue = '79', obtainedValue = t_surprise$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (79) and the obtained value (79) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '6.09', obtainedValue = t_surprise$statistic, valueType = 't')
## [1] "MATCH for t. The reported value (6.09) and the obtained value (6.09) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
general = experiment1_tidy_plot_means[c(2,6),]
ggplot(general, aes(x=Type, y=MeanRating)) +
  geom_bar(position="dodge", stat="identity") 

t_surprise_con = t.test(experiment1_tidy$RECIPIENT_ContentSurpriseActual, experiment1_tidy$SENDER_ContentSurprise, paired = TRUE)
t_surprise_con
## 
##  Paired t-test
## 
## data:  experiment1_tidy$RECIPIENT_ContentSurpriseActual and experiment1_tidy$SENDER_ContentSurprise
## t = 3.4874, df = 79, p-value = 0.0007999
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.5633828 2.0616172
## sample estimates:
## mean of the differences 
##                  1.3125
reportObject <- reproCheck(reportedValue = '79', obtainedValue = t_surprise_con$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (79) and the obtained value (79) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '3.49', obtainedValue = t_surprise_con$statistic, valueType = 't')
## [1] "MATCH for t. The reported value (3.49) and the obtained value (3.49) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
content = experiment1_tidy_plot_means[c(1,5),]
ggplot(content, aes(x=Type, y=MeanRating)) +
  geom_bar(position="dodge", stat="identity") 

t_awkward =t.test(experiment1_tidy$RECIPIENT_RecipientAwkwardActual,experiment1_tidy$SENDER_RecipientAwkwardPrediction, paired = TRUE)
t_awkward
## 
##  Paired t-test
## 
## data:  experiment1_tidy$RECIPIENT_RecipientAwkwardActual and experiment1_tidy$SENDER_RecipientAwkwardPrediction
## t = -2.8873, df = 79, p-value = 0.00501
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -1.7738423 -0.3261577
## sample estimates:
## mean of the differences 
##                   -1.05
reportObject <- reproCheck(reportedValue = '79', obtainedValue = t_awkward$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (79) and the obtained value (79) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '-2.89', obtainedValue = t_awkward$statistic, valueType = 't')
## [1] "MATCH for t. The reported value (-2.89) and the obtained value (-2.89) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
awkward = experiment1_tidy_plot_means[c(3,7),]
ggplot(awkward, aes(x=Type, y=MeanRating)) +
  geom_bar(position="dodge", stat="identity")

t_mood =t.test(experiment1_tidy$RECIPIENT_RecipientMoodActual, experiment1_tidy$SENDER_RecipientMoodPrediction, paired = TRUE)
t_mood
## 
##  Paired t-test
## 
## data:  experiment1_tidy$RECIPIENT_RecipientMoodActual and experiment1_tidy$SENDER_RecipientMoodPrediction
## t = 6.6033, df = 79, p-value = 4.241e-09
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.7334946 1.3665054
## sample estimates:
## mean of the differences 
##                    1.05
reportObject <- reproCheck(reportedValue = '79', obtainedValue = t_mood$parameter, valueType = 'df')
## [1] "MATCH for df. The reported value (79) and the obtained value (79) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
reportObject <- reproCheck(reportedValue = '6.60', obtainedValue = t_mood$statistic, valueType = 't')
## [1] "MATCH for t. The reported value (6.6) and the obtained value (6.6) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
mood = experiment1_tidy_plot_means[c(4,8),]
ggplot(mood, aes(x=Type, y=MeanRating)) +
  geom_bar(position="dodge", stat="identity")

# expressers significantly underestimated how surprised recipients would be to receive the letter, paired-samples t(79) = 6.09, p < .0001, d = 0.68; underestimated how surprised they would be by the content of the letter, paired-samples t(79) = 3.49, p < .001, d = 0.40; underestimated how positive recipients would feel, paired-samples t(79) = 6.60, p < .0001, d = 0.74; and overestimated how awkward recipients would feel, paired-samples t(79) = −2.89, p < .01, d = 0.32. Expressers believed that receiving gratitude would be a relatively positive experience, but it was even more positive for recipients than they expected. 
##MATCH

corr_surprise =cor.test(experiment1_tidy$SENDER_GeneralSurprise, experiment1_tidy$RECIPIENT_GeneralSurpriseActual)
corr_surprise
## 
##  Pearson's product-moment correlation
## 
## data:  experiment1_tidy$SENDER_GeneralSurprise and experiment1_tidy$RECIPIENT_GeneralSurpriseActual
## t = 3.3453, df = 78, p-value = 0.001266
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1458610 0.5324985
## sample estimates:
##       cor 
## 0.3542256
reportObject <- reproCheck(reportedValue = '.35', obtainedValue = corr_surprise$estimate, valueType = 'r')
## [1] "MATCH for r. The reported value (0.35) and the obtained value (0.35) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
corr_surprise_con =cor.test(experiment1_tidy$SENDER_ContentSurprise, experiment1_tidy$RECIPIENT_ContentSurpriseActual)
corr_surprise_con
## 
##  Pearson's product-moment correlation
## 
## data:  experiment1_tidy$SENDER_ContentSurprise and experiment1_tidy$RECIPIENT_ContentSurpriseActual
## t = 0.76355, df = 78, p-value = 0.4474
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1361600  0.3001699
## sample estimates:
##        cor 
## 0.08613373
reportObject <- reproCheck(reportedValue = '.09', obtainedValue = corr_surprise_con$estimate, valueType = 'r')
## [1] "MATCH for r. The reported value (0.09) and the obtained value (0.09) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
corr_awkward =cor.test(experiment1_tidy$SENDER_RecipientAwkwardPrediction, experiment1_tidy$RECIPIENT_RecipientAwkwardActual)
corr_awkward
## 
##  Pearson's product-moment correlation
## 
## data:  experiment1_tidy$SENDER_RecipientAwkwardPrediction and experiment1_tidy$RECIPIENT_RecipientAwkwardActual
## t = 1.0494, df = 78, p-value = 0.2972
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.1044278  0.3291791
## sample estimates:
##       cor 
## 0.1179965
reportObject <- reproCheck(reportedValue = '.12', obtainedValue = corr_awkward$estimate, valueType = 'r')
## [1] "MATCH for r. The reported value (0.12) and the obtained value (0.12) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
corr_mood = cor.test(experiment1_tidy$SENDER_RecipientMoodPrediction, experiment1_tidy$RECIPIENT_RecipientMoodActual)
corr_mood
## 
##  Pearson's product-moment correlation
## 
## data:  experiment1_tidy$SENDER_RecipientMoodPrediction and experiment1_tidy$RECIPIENT_RecipientMoodActual
## t = 1.399, df = 78, p-value = 0.1658
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.06550915  0.36367465
## sample estimates:
##       cor 
## 0.1564597
reportObject <- reproCheck(reportedValue = '.16', obtainedValue = corr_mood$estimate, valueType = 'r')
## [1] "MATCH for r. The reported value (0.16) and the obtained value (0.16) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
#The correlations between expressers’ predicted ratings and their recipient’s actual ratings were consistently small, being significantly larger than zero only when expressers predicted surprise at receiving the letter (r = .35, p < .01). Accuracy correlations for predicted surprise at the content of the letter, mood, and awkwardness were all nonsignificantly different from zero (all ps > .2).
##MATCH 

Step 5: Conclusion

This reproducibility check supports the conclusions made in the original paper.

Author_Assistance = FALSE # was author assistance provided? (if so, enter TRUE)

Insufficient_Information_Errors <- 0 # how many discrete insufficient information issues did you encounter?

# Assess the causal locus (discrete reproducibility issues) of any reproducibility errors. Note that there doesn't necessarily have to be a one-to-one correspondance between discrete reproducibility issues and reproducibility errors. For example, it could be that the original article neglects to mention that a Greenhouse-Geisser correct was applied to ANOVA outcomes. This might result in multiple reproducibility errors, but there is a single causal locus (discrete reproducibility issue).

locus_typo <- 0 # how many discrete issues did you encounter that related to typographical errors?
locus_specification <- 0 # how many discrete issues did you encounter that related to incomplete, incorrect, or unclear specification of the original analyses?
locus_analysis <- 0 # how many discrete issues did you encounter that related to errors in the authors' original analyses?
locus_data <- 0 # how many discrete issues did you encounter that related to errors in the data files shared by the authors?
locus_unidentified <- 0 # how many discrete issues were there for which you could not identify the cause

# How many of the above issues were resolved through author assistance?
locus_typo_resolved <- NA # how many discrete issues did you encounter that related to typographical errors?
locus_specification_resolved <- NA # how many discrete issues did you encounter that related to incomplete, incorrect, or unclear specification of the original analyses?
locus_analysis_resolved <- NA # how many discrete issues did you encounter that related to errors in the authors' original analyses?
locus_data_resolved <- NA # how many discrete issues did you encounter that related to errors in the data files shared by the authors?
locus_unidentified_resolved <- NA # how many discrete issues were there for which you could not identify the cause

Affects_Conclusion <- FALSE # Do any reproducibility issues encounter appear to affect the conclusions made in the original article? TRUE, FALSE, or NA. This is a subjective judgement, but you should taking into account multiple factors, such as the presence/absence of decision errors, the number of target outcomes that could not be reproduced, the type of outcomes that could or could not be reproduced, the difference in magnitude of effect sizes, and the predictions of the specific hypothesis under scrutiny.
reportObject <- reportObject %>%
  filter(dummyRow == FALSE) %>% # remove the dummy row
  select(-dummyRow) %>% # remove dummy row designation
  mutate(articleID = articleID) %>% # add variables to report 
  select(articleID, everything()) # make articleID first column

# decide on final outcome
if(any(reportObject$comparisonOutcome %in% c("MAJOR_ERROR", "DECISION_ERROR")) | Insufficient_Information_Errors > 0){
  finalOutcome <- "Failure without author assistance"
  if(Author_Assistance == T){
    finalOutcome <- "Failure despite author assistance"
  }
}else{
  finalOutcome <- "Success without author assistance"
  if(Author_Assistance == T){
    finalOutcome <- "Success with author assistance"
  }
}

# collate report extra details
reportExtras <- data.frame(articleID, pilotNames, copilotNames, pilotTTC, copilotTTC, pilotStartDate, copilotStartDate, completionDate, Author_Assistance, finalOutcome, Insufficient_Information_Errors, locus_typo, locus_specification, locus_analysis, locus_data, locus_unidentified, locus_typo_resolved, locus_specification_resolved, locus_analysis_resolved, locus_data_resolved, locus_unidentified_resolved)

# save report objects
if(reportType == "pilot"){
  write_csv(reportObject, "pilotReportDetailed.csv")
  write_csv(reportExtras, "pilotReportExtras.csv")
}

if(reportType == "final"){
  write_csv(reportObject, "finalReportDetailed.csv")
  write_csv(reportExtras, "finalReportExtras.csv")
}

Session information

[This function will output information about the package versions used in this report:]

devtools::session_info()
## ─ Session info ──────────────────────────────────────────────────────────
##  setting  value                       
##  version  R version 3.5.1 (2018-07-02)
##  os       macOS High Sierra 10.13.2   
##  system   x86_64, darwin15.6.0        
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  ctype    en_US.UTF-8                 
##  tz       America/Los_Angeles         
##  date     2018-11-05                  
## 
## ─ Packages ──────────────────────────────────────────────────────────────
##  package      * version date       lib
##  assertthat     0.2.0   2017-04-11 [1]
##  backports      1.1.2   2017-12-13 [1]
##  base64enc      0.1-3   2015-07-28 [1]
##  bindr          0.1.1   2018-03-13 [1]
##  bindrcpp     * 0.2.2   2018-03-29 [1]
##  broom          0.5.0   2018-07-17 [1]
##  callr          3.0.0   2018-08-24 [1]
##  CARPSreports * 0.1     2018-11-01 [1]
##  cellranger     1.1.0   2016-07-27 [1]
##  cli            1.0.1   2018-09-25 [1]
##  colorspace     1.3-2   2016-12-14 [1]
##  crayon         1.3.4   2017-09-16 [1]
##  desc           1.2.0   2018-05-01 [1]
##  devtools       2.0.1   2018-10-26 [1]
##  digest         0.6.18  2018-10-10 [1]
##  dplyr        * 0.7.7   2018-10-16 [1]
##  evaluate       0.12    2018-10-09 [1]
##  forcats      * 0.3.0   2018-02-19 [1]
##  fs             1.2.6   2018-08-23 [1]
##  ggplot2      * 3.1.0   2018-10-25 [1]
##  glue           1.3.0   2018-07-17 [1]
##  gtable         0.2.0   2016-02-26 [1]
##  haven        * 1.1.2   2018-06-27 [1]
##  hms            0.4.2   2018-03-10 [1]
##  htmltools      0.3.6   2017-04-28 [1]
##  httr           1.3.1   2017-08-20 [1]
##  jsonlite       1.5     2017-06-01 [1]
##  knitr        * 1.20    2018-02-20 [1]
##  labeling       0.3     2014-08-23 [1]
##  lattice        0.20-35 2017-03-25 [1]
##  lazyeval       0.2.1   2017-10-29 [1]
##  lubridate      1.7.4   2018-04-11 [1]
##  magrittr       1.5     2014-11-22 [1]
##  memoise        1.1.0   2017-04-21 [1]
##  modelr         0.1.2   2018-05-11 [1]
##  munsell        0.5.0   2018-06-12 [1]
##  nlme           3.1-137 2018-04-07 [1]
##  pillar         1.3.0   2018-07-14 [1]
##  pkgbuild       1.0.2   2018-10-16 [1]
##  pkgconfig      2.0.2   2018-08-16 [1]
##  pkgload        1.0.2   2018-10-29 [1]
##  plyr           1.8.4   2016-06-08 [1]
##  prettyunits    1.0.2   2015-07-13 [1]
##  processx       3.2.0   2018-08-16 [1]
##  ps             1.2.0   2018-10-16 [1]
##  purrr        * 0.2.5   2018-05-29 [1]
##  R6             2.3.0   2018-10-04 [1]
##  Rcpp           0.12.19 2018-10-01 [1]
##  readr        * 1.1.1   2017-05-16 [1]
##  readxl       * 1.1.0   2018-04-20 [1]
##  remotes        2.0.2   2018-10-30 [1]
##  rlang          0.3.0.1 2018-10-25 [1]
##  rmarkdown      1.10    2018-06-11 [1]
##  rprojroot      1.3-2   2018-01-03 [1]
##  rstudioapi     0.8     2018-10-02 [1]
##  rvest          0.3.2   2016-06-17 [1]
##  scales         1.0.0   2018-08-09 [1]
##  sessioninfo    1.1.0   2018-09-25 [1]
##  stringi        1.2.4   2018-07-20 [1]
##  stringr      * 1.3.1   2018-05-10 [1]
##  tibble       * 1.4.2   2018-01-22 [1]
##  tidyr        * 0.8.2   2018-10-28 [1]
##  tidyselect     0.2.5   2018-10-11 [1]
##  tidyverse    * 1.2.1   2017-11-14 [1]
##  usethis        1.4.0   2018-08-14 [1]
##  withr          2.1.2   2018-03-15 [1]
##  xml2           1.2.0   2018-01-24 [1]
##  yaml           2.2.0   2018-07-25 [1]
##  source                                     
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  Github (METRICS-CARPS/CARPSreports@89db4a9)
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.1)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.1)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.1)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
##  CRAN (R 3.5.0)                             
## 
## [1] /Library/Frameworks/R.framework/Versions/3.5/Resources/library