Report Details

articleID <- "CARPS_EXT_5-2-2016" # insert the article ID code here e.g., "10-3-2015_PS"
reportType <- "pilot" # specify whether this is the 'pilot' report or 'final' report
pilotNames <- "Lauren Borchers" # insert the pilot's name here e.g., "Tom Hardwicke".  If there are multiple cpilots enter both names in a character string e.g., "Tom Hardwicke, Bob Dylan"
copilotNames <- "Andrew Nam" # # 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 <- "450" # insert the pilot's estimated time to complete (in minutes, fine to approximate) e.g., 120
copilotTTC <- "300" # insert the co-pilot's estimated time to complete (in minutes, fine to approximate) e.g., 120
pilotStartDate <- "10/31/18" # insert the pilot's start date in US format e.g., as.Date("01/25/18", format = "%m/%d/%y")
copilotStartDate <- "11/04/18" # insert the co-pilot's start date in US format e.g., as.Date("01/25/18", format = "%m/%d/%y")
completionDate <- "11/04/18" # 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 used a third-party-punishment game. Within this game there was a dictator, a recipient, and a punisher. Dictators received $10.00 and could choose to allocate some of the money to recipients in increments of $2.50. Punishers are given a separate sum of $5.00 and could penalize the dictator for not giving money in $1.00 increments (penalizing the dictator at 20% per dollar). Recipients cannot do anything. All players first committed to the decisions they would make as the dictator, recipient, and punisher before they were assigned their respective role. This allowed the authors to maximize data collection for all three conditions. Dictators were asked to make a binary decision on different allocations of money. The researchers computed valuation scores by looking at switch-points within the dictator’s decision. For example, the dictator could decide to keep $12.00 rather than giving $20 and give up $10.00 to give $20.00 (valuation score= ((12/20+10/20)/2)=0.55).


Target outcomes:

Descriptive statistics for punishment, allocations, and valuation. Behavior in our modified third-partypunishment game resembled behavior in typical versions. As usual, punishers were sometimes willing to punish (Fig. 1). For instance, when assuming that dictators allocated nothing to recipients, 55% of punishers (65 of 119) spent at least $1 on punishment, and 15% (18 of 119) spent their entire $5 on punishment. Dictators were sometimes willing to allocate money to recipients (diamonds in Fig. 1). For instance, 64% of dictators (76 of 119) were willing to allocate at least some money to recipients, and 38% (45 of 119) were willing to allocate at least half of the total stake. Even when dictators allocated half or more of their stake to recipients, a minority of punishers were still willing to punish. This might reflect noise, as subjects who did not anticipate such decisions being actualized may have answered with less concern, or it might reflect antisocial punishment, which has been observed in other games (Herrmann, Thöni, & Gächter, 2008; Masclet, Noussair, Tucker, & Villeval, 2003). When dictators allocated all $10, punishment, though still costly, was completely ineffective; in this case, dictators had no residual endowment that punishment could reduce. Nonetheless, past experiments have also shown that people are willing to pay for costly punishment even when such punishment is completely ineffective (Yamagishi et al., 2009). Dictators moderately valued recipients and punishers (Ms = .22 and .23, respectively). Roughly, a dictator would forgo receiving up to $4 if recipients and punishers could receive $20.

Punishers assume that dictators’ treatment of recipients predicts how much dictators value punishers. As we have shown, dictators’ divisions toward recipients predict how much dictators value punishers. But do third parties actually make inferences using this cue? This is a primary prediction of the deterrence hypothesis, and our results confirmed it: As shown in Figure 2a, the more that dictators allocated to recipients, the more they were thought to value both the punisher and the recipient. In fact, the inferences punishers made for the two targets (themselves and recipients) were indistinguishable. Using a 2 × 2 repeated measures ANOVA with allocation and target as factors, we found that the effect of allocation on inferences was significant, F(2.32, 273.72) = 18.15, p < .001, η2 = .13, but there was no effect of target and no interaction between target and allocation (ps = .25 and .17; see Table S2 in the Supplemental Material).


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

S1_data <- read_sav("data/S1_data.sav")

Step 3: Tidy data

# make a new data frame for punishment data
S1_data_punishments = 
  # go into the original data
  S1_data %>%
  # only select columns with "Punishment" in the name
    select(contains("Punishment"))

Step 4: Run analysis

describe_names = function(df) {
  sapply(names(df), function(name) {
    return(attr(df[[name]], "label"))
  }) #provides label names in Rmarkdown 
}

Descriptive statistics

describe_names(S1_data)
## $Subject
## [1] "Subject ID"
## 
## $SessionDate
## NULL
## 
## $SessionTimeUtc
## NULL
## 
## $sex
##   male female 
##      0      1 
## 
## $TransferEstimate
## [1] "Estimate of Dictator's transfer"
## 
## $TransferByDictator
## [1] "Actual transfer by matched Dictator"
## 
## $WTR.PracticeEst
## [1] "Estimated WTR for Practice Round"
## 
## $WTR.PracticeFwd
## [1] "WTR for Pracice Round"
## 
## $WTR.RECIPIENT.AsDictator
## [1] "WTR to Recipient as Dictator"
## 
## $WTR.RESPONDER.AsDictator
## [1] "WTR to Responder as Dictator"
## 
## $WTR.RECIPIENT.1000
## [1] "Estimated WTR to Recipient ($0 transfer)"
## 
## $WTR.RECIPIENT.1025
## [1] "Estimated WTR to Recipient ($2.5 transfer)"
## 
## $WTR.RECIPIENT.1050
## [1] "Estimated WTR to Recipient ($5 transfer)"
## 
## $WTR.RECIPIENT.1075
## [1] "Estimated WTR to Recipient ($7.5 transfer)"
## 
## $WTR.RECIPIENT.1100
## [1] "Estimated WTR to Recipient ($10 transfer)"
## 
## $WTR.RESPONDER.1000
## [1] "Estimated WTR to Responder ($0 transfer)"
## 
## $WTR.RESPONDER.1025
## [1] "Estimated WTR to Responder ($2.5 transfer)"
## 
## $WTR.RESPONDER.1050
## [1] "Estimated WTR to Responder ($5 transfer)"
## 
## $WTR.RESPONDER.1075
## [1] "Estimated WTR to Responder ($7.5 transfer)"
## 
## $WTR.RESPONDER.1100
## [1] "Estimated WTR to Responder ($10 transfer)"
## 
## $PunishmentDecision.1000
## [1] "Punishment Decision ($0 transfer)"
## 
## $PunishmentDecision.1025
## [1] "Punishment Decision ($2.5 transfer)"
## 
## $PunishmentDecision.1050
## [1] "Punishment Decision ($5 transfer)"
## 
## $PunishmentDecision.1075
## [1] "Punishment Decision ($7.5 transfer)"
## 
## $PunishmentDecision.1100
## [1] "Punishment Decision ($10 transfer)"
## 
## $FirstHypotheticalTransfer
## [1] "First Transfer Considered"
## 
## $TradeOff.1.PracticeEst
## [1] "$14 vs $20 (Practice round estimation)"
## 
## $TradeOff.1.PracticeFwd
## [1] "$14 vs $20 (Practice round estimation)"
## 
## $TradeOff.1.RECIPIENT.1000
## [1] "$14 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.1.RECIPIENT.1025
## [1] "$14 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.1.RECIPIENT.1050
## [1] "$14 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.1.RECIPIENT.1075
## [1] "$14 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.1.RECIPIENT.1100
## [1] "$14 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.1.RESPONDER.1000
## [1] "$14 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.1.RESPONDER.1025
## [1] "$14 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.1.RESPONDER.1050
## [1] "$14 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.1.RESPONDER.1075
## [1] "$14 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.1.RESPONDER.1100
## [1] "$14 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.2.PracticeEst
## [1] "$12 vs $20 (Practice round estimation)"
## 
## $TradeOff.2.PracticeFwd
## [1] "$12 vs $20 (Practice round estimation)"
## 
## $TradeOff.2.RECIPIENT.1000
## [1] "$12 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.2.RECIPIENT.1025
## [1] "$12 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.2.RECIPIENT.1050
## [1] "$12 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.2.RECIPIENT.1075
## [1] "$12 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.2.RECIPIENT.1100
## [1] "$12 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.2.RESPONDER.1000
## [1] "$12 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.2.RESPONDER.1025
## [1] "$12 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.2.RESPONDER.1050
## [1] "$12 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.2.RESPONDER.1075
## [1] "$12 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.2.RESPONDER.1100
## [1] "$12 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.3.PracticeEst
## [1] "$10 vs $20 (Practice round estimation)"
## 
## $TradeOff.3.PracticeFwd
## [1] "$10 vs $20 (Practice round estimation)"
## 
## $TradeOff.3.RECIPIENT.1000
## [1] "$10 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.3.RECIPIENT.1025
## [1] "$10 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.3.RECIPIENT.1050
## [1] "$10 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.3.RECIPIENT.1075
## [1] "$10 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.3.RECIPIENT.1100
## [1] "$10 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.3.RESPONDER.1000
## [1] "$10 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.3.RESPONDER.1025
## [1] "$10 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.3.RESPONDER.1050
## [1] "$10 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.3.RESPONDER.1075
## [1] "$10 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.3.RESPONDER.1100
## [1] "$10 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.4.PracticeEst
## [1] "$9 vs $20 (Practice round estimation)"
## 
## $TradeOff.4.PracticeFwd
## [1] "$9 vs $20 (Practice round estimation)"
## 
## $TradeOff.4.RECIPIENT.1000
## [1] "$9 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.4.RECIPIENT.1025
## [1] "$9 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.4.RECIPIENT.1050
## [1] "$9 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.4.RECIPIENT.1075
## [1] "$9 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.4.RECIPIENT.1100
## [1] "$9 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.4.RESPONDER.1000
## [1] "$9 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.4.RESPONDER.1025
## [1] "$9 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.4.RESPONDER.1050
## [1] "$9 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.4.RESPONDER.1075
## [1] "$9 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.4.RESPONDER.1100
## [1] "$9 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.5.PracticeEst
## [1] "$8 vs $20 (Practice round estimation)"
## 
## $TradeOff.5.PracticeFwd
## [1] "$8 vs $20 (Practice round estimation)"
## 
## $TradeOff.5.RECIPIENT.1000
## [1] "$8 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.5.RECIPIENT.1025
## [1] "$8 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.5.RECIPIENT.1050
## [1] "$8 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.5.RECIPIENT.1075
## [1] "$8 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.5.RECIPIENT.1100
## [1] "$8 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.5.RESPONDER.1000
## [1] "$8 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.5.RESPONDER.1025
## [1] "$8 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.5.RESPONDER.1050
## [1] "$8 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.5.RESPONDER.1075
## [1] "$8 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.5.RESPONDER.1100
## [1] "$8 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.6.PracticeEst
## [1] "$7 vs $20 (Practice round estimation)"
## 
## $TradeOff.6.PracticeFwd
## [1] "$7 vs $20 (Practice round estimation)"
## 
## $TradeOff.6.RECIPIENT.1000
## [1] "$7 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.6.RECIPIENT.1025
## [1] "$7 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.6.RECIPIENT.1050
## [1] "$7 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.6.RECIPIENT.1075
## [1] "$7 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.6.RECIPIENT.1100
## [1] "$7 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.6.RESPONDER.1000
## [1] "$7 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.6.RESPONDER.1025
## [1] "$7 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.6.RESPONDER.1050
## [1] "$7 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.6.RESPONDER.1075
## [1] "$7 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.6.RESPONDER.1100
## [1] "$7 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.7.PracticeEst
## [1] "$6 vs $20 (Practice round estimation)"
## 
## $TradeOff.7.PracticeFwd
## [1] "$6 vs $20 (Practice round estimation)"
## 
## $TradeOff.7.RECIPIENT.1000
## [1] "$6 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.7.RECIPIENT.1025
## [1] "$6 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.7.RECIPIENT.1050
## [1] "$6 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.7.RECIPIENT.1075
## [1] "$6 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.7.RECIPIENT.1100
## [1] "$6 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.7.RESPONDER.1000
## [1] "$6 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.7.RESPONDER.1025
## [1] "$6 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.7.RESPONDER.1050
## [1] "$6 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.7.RESPONDER.1075
## [1] "$6 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.7.RESPONDER.1100
## [1] "$6 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.8.PracticeEst
## [1] "$5 vs $20 (Practice round estimation)"
## 
## $TradeOff.8.PracticeFwd
## [1] "$5 vs $20 (Practice round estimation)"
## 
## $TradeOff.8.RECIPIENT.1000
## [1] "$5 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.8.RECIPIENT.1025
## [1] "$5 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.8.RECIPIENT.1050
## [1] "$5 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.8.RECIPIENT.1075
## [1] "$5 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.8.RECIPIENT.1100
## [1] "$5 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.8.RESPONDER.1000
## [1] "$5 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.8.RESPONDER.1025
## [1] "$5 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.8.RESPONDER.1050
## [1] "$5 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.8.RESPONDER.1075
## [1] "$5 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.8.RESPONDER.1100
## [1] "$5 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.9.PracticeEst
## [1] "$4 vs $20 (Practice round estimation)"
## 
## $TradeOff.9.PracticeFwd
## [1] "$4 vs $20 (Practice round estimation)"
## 
## $TradeOff.9.RECIPIENT.1000
## [1] "$4 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.9.RECIPIENT.1025
## [1] "$4 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.9.RECIPIENT.1050
## [1] "$4 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.9.RECIPIENT.1075
## [1] "$4 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.9.RECIPIENT.1100
## [1] "$4 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.9.RESPONDER.1000
## [1] "$4 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.9.RESPONDER.1025
## [1] "$4 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.9.RESPONDER.1050
## [1] "$4 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.9.RESPONDER.1075
## [1] "$4 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.9.RESPONDER.1100
## [1] "$4 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.10.PracticeEst
## [1] "$3 vs $20 (Practice round estimation)"
## 
## $TradeOff.10.PracticeFwd
## [1] "$3 vs $20 (Practice round estimation)"
## 
## $TradeOff.10.RECIPIENT.1000
## [1] "$3 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.10.RECIPIENT.1025
## [1] "$3 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.10.RECIPIENT.1050
## [1] "$3 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.10.RECIPIENT.1075
## [1] "$3 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.10.RECIPIENT.1100
## [1] "$3 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.10.RESPONDER.1000
## [1] "$3 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.10.RESPONDER.1025
## [1] "$3 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.10.RESPONDER.1050
## [1] "$3 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.10.RESPONDER.1075
## [1] "$3 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.10.RESPONDER.1100
## [1] "$3 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.11.PracticeEst
## [1] "$2 vs $20 (Practice round estimation)"
## 
## $TradeOff.11.PracticeFwd
## [1] "$2 vs $20 (Practice round estimation)"
## 
## $TradeOff.11.RECIPIENT.1000
## [1] "$2 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.11.RECIPIENT.1025
## [1] "$2 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.11.RECIPIENT.1050
## [1] "$2 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.11.RECIPIENT.1075
## [1] "$2 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.11.RECIPIENT.1100
## [1] "$2 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.11.RESPONDER.1000
## [1] "$2 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.11.RESPONDER.1025
## [1] "$2 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.11.RESPONDER.1050
## [1] "$2 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.11.RESPONDER.1075
## [1] "$2 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.11.RESPONDER.1100
## [1] "$2 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.12.PracticeEst
## [1] "$1 vs $20 (Practice round estimation)"
## 
## $TradeOff.12.PracticeFwd
## [1] "$1 vs $20 (Practice round estimation)"
## 
## $TradeOff.12.RECIPIENT.1000
## [1] "$1 vs $20 (Estimating for Recipient, Assuming transfer $0)"
## 
## $TradeOff.12.RECIPIENT.1025
## [1] "$1 vs $20 (Estimating for Recipient, Assuming transfer $2.5)"
## 
## $TradeOff.12.RECIPIENT.1050
## [1] "$1 vs $20 (Estimating for Recipient, Assuming transfer $5)"
## 
## $TradeOff.12.RECIPIENT.1075
## [1] "$1 vs $20 (Estimating for Recipient, Assuming transfer $7.5)"
## 
## $TradeOff.12.RECIPIENT.1100
## [1] "$1 vs $20 (Estimating for Recipient, Assuming transfer $10)"
## 
## $TradeOff.12.RESPONDER.1000
## [1] "$1 vs $20 (Estimating for Responder, Assuming transfer $0)"
## 
## $TradeOff.12.RESPONDER.1025
## [1] "$1 vs $20 (Estimating for Responder, Assuming transfer $2.5)"
## 
## $TradeOff.12.RESPONDER.1050
## [1] "$1 vs $20 (Estimating for Responder, Assuming transfer $5)"
## 
## $TradeOff.12.RESPONDER.1075
## [1] "$1 vs $20 (Estimating for Responder, Assuming transfer $7.5)"
## 
## $TradeOff.12.RESPONDER.1100
## [1] "$1 vs $20 (Estimating for Responder, Assuming transfer $10)"
## 
## $TradeOff.1.RECIPIENT.AsDictator
## [1] "$14 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.1.RESPONDER.AsDictator
## [1] "$14 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.2.RECIPIENT.AsDictator
## [1] "$12 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.2.RESPONDER.AsDictator
## [1] "$12 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.3.RECIPIENT.AsDictator
## [1] "$10 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.3.RESPONDER.AsDictator
## [1] "$10 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.4.RECIPIENT.AsDictator
## [1] "$9 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.4.RESPONDER.AsDictator
## [1] "$9 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.5.RECIPIENT.AsDictator
## [1] "$8 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.5.RESPONDER.AsDictator
## [1] "$8 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.6.RECIPIENT.AsDictator
## [1] "$7 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.6.RESPONDER.AsDictator
## [1] "$7 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.7.RECIPIENT.AsDictator
## [1] "$6 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.7.RESPONDER.AsDictator
## [1] "$6 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.8.RECIPIENT.AsDictator
## [1] "$5 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.8.RESPONDER.AsDictator
## [1] "$5 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.9.RECIPIENT.AsDictator
## [1] "$4 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.9.RESPONDER.AsDictator
## [1] "$4 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.10.RECIPIENT.AsDictator
## [1] "$3 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.10.RESPONDER.AsDictator
## [1] "$3 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.11.RECIPIENT.AsDictator
## [1] "$2 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.11.RESPONDER.AsDictator
## [1] "$2 vs $20 (Tradeoff to Punisher as Dictator)"
## 
## $TradeOff.12.RECIPIENT.AsDictator
## [1] "$1 vs $20 (Tradeoff to Recipeint as Dictator)"
## 
## $TradeOff.12.RESPONDER.AsDictator
## [1] "$1 vs $20 (Tradeoff to Punisher as Dictator)"
describe_names(S1_data_punishments)
##               PunishmentDecision.1000 
##   "Punishment Decision ($0 transfer)" 
##               PunishmentDecision.1025 
## "Punishment Decision ($2.5 transfer)" 
##               PunishmentDecision.1050 
##   "Punishment Decision ($5 transfer)" 
##               PunishmentDecision.1075 
## "Punishment Decision ($7.5 transfer)" 
##               PunishmentDecision.1100 
##  "Punishment Decision ($10 transfer)"
# how much money punishers spent to punish the dictator when the dictator gave $0
punishments_when_dict_gave_nothing = S1_data_punishments$PunishmentDecision.1000
# out of all punishers, what percent spent at least one dollar?
punishments_when_dict_gave_nothing
##   [1] 5 2 2 4 1 1 3 3 0 1 0 5 2 5 0 5 0 3 5 2 4 3 5 5 0 4 3 0 5 4 2 1 2 0 5
##  [36] 0 0 1 0 0 4 2 3 0 0 1 4 3 4 2 2 0 0 2 0 0 0 0 0 0 4 5 0 2 0 0 0 0 4 0
##  [71] 0 0 1 5 0 0 0 0 0 1 0 0 0 0 5 0 0 0 0 3 0 0 5 2 2 2 0 0 5 0 0 3 0 0 3
## [106] 0 0 5 4 4 1 0 5 1 2 5 0 4 5
## attr(,"label")
## [1] "Punishment Decision ($0 transfer)"
## attr(,"format.spss")
## [1] "F1.0"
# so, when is this vector greater than or equal to one?
punishments_that_are_at_least_a_dollar = punishments_when_dict_gave_nothing[punishments_when_dict_gave_nothing >= 1]
n_s_that_gave_dollar = length(punishments_that_are_at_least_a_dollar) #65
#119 is original sample
n_s_total = length (punishments_when_dict_gave_nothing)
#Reproduction of 55% gave at least one dollar for punishment
n_s_dollar = n_s_that_gave_dollar/n_s_total
quiet <- reproCheck(reportedValue = '.55', obtainedValue = n_s_dollar, valueType = 'mean')
## [1] "MATCH for mean. The reported value (0.55) and the obtained value (0.55) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
#Claim that 18 of 119 spent their entire $5 on punishment
# cases when punishers spent all money to punish the dictator when dictator gave $0
punishments_when_dict_gave_nothing = S1_data_punishments$PunishmentDecision.1000
# cases when vector equals to $5
punishments_entire_five =
punishments_when_dict_gave_nothing[punishments_when_dict_gave_nothing >= 5]
n_s_that_gave_five_dollars = length(punishments_entire_five)
#119 is original sample
n_s_total = length (punishments_when_dict_gave_nothing)
n_s_five = length (punishments_entire_five) #true that 18/119 spent entire $5 on punishment
n_s_that_gave_five_dollars/n_s_total #percent
## [1] 0.1512605
length (punishments_entire_five)
## [1] 18
quiet <- reproCheck(reportedValue = '18', obtainedValue = n_s_five, valueType = 'mean')
## [1] "MATCH for mean. The reported value (18) and the obtained value (18) differed by 0%. Note that the obtained value was rounded to 0 decimal places to match the reported value."
#64% of dictators (76 of 119) were willing to allocate at least some money to recipients
cases_of_dict = S1_data$TransferByDictator
dict_gave_some_money =
cases_of_dict [cases_of_dict >= 2.50]
n_dict_that_gave_some_money = length(cases_of_dict)
n_dict_gave_some_money= length(dict_gave_some_money)
n_dict_gave_some_money #76
## [1] 76
cases_of_dict=length(cases_of_dict) #119
cases_of_dict
## [1] 119
percent_some_money = n_dict_gave_some_money/cases_of_dict #64% of dicators gave some money
quiet <- reproCheck(reportedValue = '.64', obtainedValue = percent_some_money, valueType = 'mean')
## [1] "MATCH for mean. The reported value (0.64) and the obtained value (0.64) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
#38% (45 of 119) were willing to allocate at least half of the total stake
cases_of_dict_half = S1_data$TransferByDictator
dict_gave_half_money =
cases_of_dict_half [cases_of_dict_half >= 5.00]
n_dict_that_gave_half_money = length(cases_of_dict)
n_dict_gave_half_money= length(dict_gave_half_money)
n_dict_gave_half_money #45
## [1] 45
cases_of_dict_half=length(cases_of_dict_half) #119
cases_of_dict_half
## [1] 119
percent_half_money= n_dict_gave_half_money/cases_of_dict_half #38% of dicators gave some money
quiet <- reproCheck(reportedValue = '.38', obtainedValue = percent_half_money, valueType = 'mean')
## [1] "MATCH for mean. The reported value (0.38) and the obtained value (0.38) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."

Inferential statistics

#Dictators moderately valued recipients and punishers (Ms = .22 and .23, respectively). Roughly, a dictator would forgo receiving up to $4 if recipients and punishers could receive $20.
data(S1_data)
dict_value_recip = mean(S1_data[["WTR.RECIPIENT.AsDictator"]]) #dictator's value of recipients
quiet <- reproCheck(reportedValue = '.22', obtainedValue = dict_value_recip, valueType = 'coeff')
## [1] "MATCH for coeff. The reported value (0.22) and the obtained value (0.22) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
data(S1_data)
dict_value_punish = mean(S1_data[["WTR.RESPONDER.AsDictator"]]) #dictator's value of punishers 
quiet <- reproCheck(reportedValue = '.23', obtainedValue = dict_value_punish, valueType = 'coeff')
## [1] "MATCH for coeff. The reported value (0.23) and the obtained value (0.23) differed by 0%. Note that the obtained value was rounded to 2 decimal places to match the reported value."
# more dictators allocated to recipients, more they were thought to value both punisher and recipient. 
# inferences punishers made for two targets (themselves and recipients) were indistinguishable. 
# Using a 2 × 2 repeated measures ANOVA with allocation and target as factors, 
# found that the effect of allocation on inferences was significant, F(2.32, 273.72) = 18.15, p < .001, η2 = .13, 
# no effect of target and no interaction between target and allocation (ps = .25 and .17; see Table S2 in the Supplemental Material).

# I cannot reproduce this finding. I have a hunch that the authors averaged WTR responder and WTR recipient variables (1000, 1025, 1050, 1075, 1100) respectively and used these as factors. I also know that TransferByDictator was included in the model.

# All testing below. Couldn't reproduce result

# Tested different 2 x 2 ANOVAs. Failed to reproduce the finding. Did not figure out how to average the WTR responder and WTR recipient variables. 
#res.aov2 <- aov(WTR.RESPONDER.AsDictator ~ TransferByDictator + TransferEstimate, data = S1_data)
#summary(res.aov2)

#res.aov2 <- aov(WTR.RESPONDER.AsDictator ~TransferEstimate +TransferByDictator, data = S1_data)
#summary(res.aov2)

#res.aov2 <- aov(WTR.RECIPIENT.AsDictator ~TransferEstimate +TransferByDictator, data = S1_data)
#summary(res.aov2)

#res.aov2 <- aov(WTR.RESPONDER.AsDictator ~ TransferByDictator + TransferEstimate, data = S1_data)
#summary(res.aov2)

Step 5: Conclusion

I successfully reproduced the descriptive and correlational findings. I was unable to reproduce the result from the 2 x 2 ANOVA. I have an idea of what the authors may have done, but I cannot successfully reproduce the finding. The authors did not clearly describe their procedure for the 2 x 2 ANOVA and I need help creating an averaged variable for the WTR responder and WTR recipient variables. I am inferring that those are the relevant columns based on the fact that the column names end in 000, 025, 050, 075, and 0100 and Figure 2a has those numbers listed for the x-axis. Therefore, I am not confident that this approach would necessarily reproduce the result. Overall, the authors provided detailed descriptions of their results and their reported values were consistent with my findings.

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

Insufficient_Information_Errors <- 1 # 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 <- 1 # 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 <- 1 # 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 <- 0 # how many discrete issues did you encounter that related to typographical errors?
locus_specification_resolved <- 0 # how many discrete issues did you encounter that related to incomplete, incorrect, or unclear specification of the original analyses?
locus_analysis_resolved <- 0 # how many discrete issues did you encounter that related to errors in the authors' original analyses?
locus_data_resolved <- 0 # how many discrete issues did you encounter that related to errors in the data files shared by the authors?
locus_unidentified_resolved <- 0 # how many discrete issues were there for which you could not identify the cause

Affects_Conclusion <- NA # 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       OS X El Capitan 10.11.6     
##  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-04                  
## 
## ─ 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-02 [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.6   2018-06-29 [1]
##  evaluate       0.11    2018-07-17 [1]
##  forcats      * 0.3.0   2018-02-19 [1]
##  fs             1.2.6   2018-08-23 [1]
##  ggplot2      * 3.0.0   2018-07-03 [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]
##  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.1.0   2018-08-10 [1]
##  purrr        * 0.2.5   2018-05-29 [1]
##  R6             2.2.2   2017-06-17 [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.2.2   2018-08-16 [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]
##  testthat       2.0.0   2017-12-13 [1]
##  tibble       * 1.4.2   2018-01-22 [1]
##  tidyr        * 0.8.1   2018-05-18 [1]
##  tidyselect     0.2.4   2018-02-26 [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.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.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.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)                             
## 
## [1] /Library/Frameworks/R.framework/Versions/3.5/Resources/library