Erin M. Buchanan
Harrisburg University
faux
PackageGroups:
faux
df <- sim_design(
# make between subjects groups
between = list(group = c("None", "Medium", "Reddit")),
# make continuous variables everyone sees
# always list DV first
within = list(vars = c("Accuracy", "Confidence", "Familiarity")),
# make the means for each group
mu = list(None = c(Accuracy = 50, Confidence = 60, Familiarity = 40),
Medium = c(Accuracy = 55, Confidence = 60, Familiarity = 40),
Reddit = c(Accuracy = 60, Confidence = 60, Familiarity = 40)),
# make the standard deviations for each group
sd = list(None = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Medium = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Reddit = c(Accuracy = 10, Confidence = 10, Familiarity = 10)),
# make the correlations, based on "vars"
# accuracy-con, accuracy-fam, con-fam
r = list(None = c(.6, .4, .6),
Medium = c(.6, .4, .6),
Reddit = c(.6, .4, .6)),
n = 10,
plot = TRUE
)
faux
Call:
lm(formula = Accuracy ~ group + Confidence + Familiarity, data = df)
Residuals:
Min 1Q Median 3Q Max
-14.5205 -5.2440 -0.0029 4.0435 14.4801
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.8332 10.1243 0.082 0.935067
groupMedium 10.0005 3.4335 2.913 0.007442 **
groupReddit 13.7969 3.3853 4.076 0.000408 ***
Confidence 0.9112 0.1637 5.565 8.7e-06 ***
Familiarity -0.1748 0.1675 -1.044 0.306611
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 7.533 on 25 degrees of freedom
Multiple R-squared: 0.6683, Adjusted R-squared: 0.6152
F-statistic: 12.59 on 4 and 25 DF, p-value: 9.558e-06
# build the simulation loop
for (i in 1:number_sims){
df <- sim_design(
# make between subjects groups
between = list(group = c("None", "Medium", "Reddit")),
# make continuous variables everyone sees
# always list DV first
within = list(vars = c("Accuracy", "Confidence", "Familiarity")),
# make the means for each group
mu = list(None = c(Accuracy = 50, Confidence = 60, Familiarity = 40),
Medium = c(Accuracy = 55, Confidence = 60, Familiarity = 40),
Reddit = c(Accuracy = 60, Confidence = 60, Familiarity = 40)),
# make the standard deviations for each group
sd = list(None = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Medium = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Reddit = c(Accuracy = 10, Confidence = 10, Familiarity = 10)),
# make the correlations, based on "vars"
# accuracy-con, accuracy-fam, con-fam
r = list(None = c(.6, .4, .6),
Medium = c(.6, .4, .6),
Reddit = c(.6, .4, .6)),
n = 10,
plot = FALSE)
overall_model <- lm(Accuracy ~ group + Confidence + Familiarity,
data = df)
results[i, ] <- summary(overall_model)$coefficients[ , 4]
}
# loop over sample sizes
sample_sizes <- seq(from = 10, to = 100, by = 10)
summary_by_sample <- data.frame(
"medium_p" = 1:length(sample_sizes),
"reddit_p" = 1:length(sample_sizes),
"confidence_p" = 1:length(sample_sizes),
"familiar_p" = 1:length(sample_sizes)
)
# build the sample loop
for (p in 1:length(sample_sizes)){
# build the simulation loop
for (i in 1:number_sims){
df <- sim_design(
# make between subjects groups
between = list(group = c("None", "Medium", "Reddit")),
# make continuous variables everyone sees
# always list DV first
within = list(vars = c("Accuracy", "Confidence", "Familiarity")),
# make the means for each group
mu = list(None = c(Accuracy = 50, Confidence = 60, Familiarity = 40),
Medium = c(Accuracy = 55, Confidence = 60, Familiarity = 40),
Reddit = c(Accuracy = 60, Confidence = 60, Familiarity = 40)),
# make the standard deviations for each group
sd = list(None = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Medium = c(Accuracy = 10, Confidence = 10, Familiarity = 10),
Reddit = c(Accuracy = 10, Confidence = 10, Familiarity = 10)),
# make the correlations, based on "vars"
# accuracy-con, accuracy-fam, con-fam
r = list(None = c(.6, .4, .6),
Medium = c(.6, .4, .6),
Reddit = c(.6, .4, .6)),
n = sample_sizes[p],
plot = FALSE)
overall_model <- lm(Accuracy ~ group + Confidence + Familiarity,
data = df)
results[i, ] <- summary(overall_model)$coefficients[ , 4]
}
summary_by_sample[p , ] <- results %>%
summarize(medium_p = sum(medium <= alpha),
reddit_p = sum(reddit <= alpha),
confidence_p = sum(confidence <= alpha),
familiar_p = sum(familiar <= alpha))
}
summary_by_sample$sample_n <- sample_sizes