In this dataset (“experiment 0”), 40 adult participants from a Prolific sample viewed 24 posts (half true, half false; half with a source, half without), made ratings on their likelihood of liking and sharing each post, and provided an open response justification of why they chose that rating. As a reminder, 24 was only half of the total 48 posts, so in this sample, people only viewed half of the total stimuli.
Error bars in all graphs are standard error.
data <- readr::read_csv("IG-exp0-datalong.csv", col_names = TRUE)
## Parsed with column specification:
## cols(
## Duration..in.seconds. = col_double(),
## ID = col_character(),
## Age = col_double(),
## Gender = col_character(),
## Race = col_character(),
## Comments = col_character(),
## Version = col_character(),
## Why = col_character(),
## Question_Num = col_double(),
## Question_Type = col_character(),
## Post = col_character(),
## Accuracy = col_logical(),
## Source = col_character(),
## Prop_Known = col_double(),
## Difficulty = col_character(),
## Rating = col_double()
## )
data2 <- readr::read_csv("IG-exp0-datalong2.csv", col_names = TRUE)
## Parsed with column specification:
## cols(
## Duration..in.seconds. = col_double(),
## ID = col_character(),
## Age = col_double(),
## Gender = col_character(),
## Race = col_character(),
## Comments = col_character(),
## Version = col_character(),
## Question_Num = col_double(),
## Post = col_character(),
## Accuracy = col_logical(),
## Source = col_character(),
## Prop_Known = col_double(),
## Difficulty = col_character(),
## Like_Explain = col_character(),
## Share_Why = col_character(),
## Like_Rate = col_double(),
## Share_Rate = col_double()
## )
#Export data for comment review
exp0_comments <- data2 %>%
filter(!is.na(ID)) %>%
group_by(ID)
write.csv(exp0_comments, "IG-exp0_comments.csv", row.names = FALSE)
Load data
mean(data$Age, na.rm = TRUE)
## [1] 33.44737
Mean age
data %>%
group_by(Gender) %>%
summarise(n()/48)
## # A tibble: 3 x 2
## Gender `n()/48`
## * <chr> <dbl>
## 1 Female 27
## 2 Male 9
## 3 Non-binary/third gender 2
Gender distribution
data %>%
filter(!is.na(ID)) %>%
group_by(ID,Accuracy,Question_Type,Source) %>%
summarise(
mean_rating = mean(Rating,na.rm=TRUE),
) %>%
group_by(Accuracy,Question_Type,Source) %>%
summarise(
mean_rate = mean(mean_rating,na.rm=TRUE),
sd_rate = sd(mean_rating,),
se_rate = sd(mean_rating,)/sqrt(n()),
)
## `summarise()` has grouped output by 'ID', 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
## `summarise()` has grouped output by 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
## # A tibble: 8 x 6
## # Groups: Accuracy, Question_Type [4]
## Accuracy Question_Type Source mean_rate sd_rate se_rate
## <lgl> <chr> <chr> <dbl> <dbl> <dbl>
## 1 FALSE Like No 3.89 2.39 0.388
## 2 FALSE Like Yes 3.61 2.24 0.363
## 3 FALSE Share No 3.16 2.27 0.369
## 4 FALSE Share Yes 3.03 2.17 0.352
## 5 TRUE Like No 4.07 2.10 0.341
## 6 TRUE Like Yes 4.10 2.27 0.368
## 7 TRUE Share No 3.39 2.19 0.355
## 8 TRUE Share Yes 3.40 2.41 0.390
Summary table of ratings as a function of question type, post accuracy, and source presence
data %>%
filter(!is.na(ID)) %>%
group_by(ID,Accuracy,Question_Type,Source) %>%
summarise(
mean_rating = mean(Rating,na.rm=TRUE),
) %>%
group_by(Accuracy,Question_Type,Source) %>%
summarise(
mean_rate = mean(mean_rating,na.rm=TRUE),
sd_rate = sd(mean_rating,),
se_rate = sd(mean_rating,)/sqrt(n()),
) %>%
ggplot(.) + aes(x = Question_Type, y = mean_rate, fill = Accuracy) +
geom_bar(stat = "summary", fun.y = "mean", position = "dodge") +
xlab("Type of Rating") + ylab("Likelihood of Liking or Sharing Post") + labs(fill = "Accuracy of item") +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.background = element_blank(), axis.line = element_line(colour = "black")) +
geom_errorbar(aes(ymin= mean_rate - se_rate, ymax= mean_rate + se_rate), position=position_dodge(width=0.9), width=.1) + geom_text(aes(label=round(mean_rate,digits=2)), position=position_dodge(width=.9), vjust=4.5) + scale_fill_manual(values = wes_palette("GrandBudapest1")) + facet_wrap(vars(Source))
## `summarise()` has grouped output by 'ID', 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
## `summarise()` has grouped output by 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
Like and share ratings as a function of post accuracy and source presence.
data %>%
filter(!is.na(ID),!is.na(Difficulty)) %>%
group_by(ID,Accuracy,Question_Type,Difficulty) %>%
summarise(
mean_rating = mean(Rating,na.rm=TRUE),
) %>%
group_by(Accuracy,Question_Type,Difficulty) %>%
summarise(
mean_rate = mean(mean_rating,na.rm=TRUE),
sd_rate = sd(mean_rating,),
se_rate = sd(mean_rating,)/sqrt(n()),
) %>%
ggplot(.) + aes(x = Question_Type, y = mean_rate, fill = Accuracy) +
geom_bar(stat = "summary", fun.y = "mean", position = "dodge") +
xlab("Type of Rating") + ylab("Likelihood of Liking or Sharing Post") + labs(fill = "Accuracy of item") +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.background = element_blank(), axis.line = element_line(colour = "black")) +
geom_errorbar(aes(ymin= mean_rate - se_rate, ymax= mean_rate + se_rate), position=position_dodge(width=0.9), width=.1) + geom_text(aes(label=round(mean_rate,digits=2)), position=position_dodge(width=.9), vjust=4.5) + scale_fill_manual(values = wes_palette("GrandBudapest1")) + facet_wrap(vars(Difficulty))
## `summarise()` has grouped output by 'ID', 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
## `summarise()` has grouped output by 'Accuracy', 'Question_Type'. You can override using the `.groups` argument.
Like and share ratings as a function of post accuracy and how well-known the post is.
Interestingly, people report being more likely to share true than false posts for LESSER known items as compared to well-known items. In other words, people are just as likely to share posts that are well-known to be true and false, but are more likely to share true posts than false posts when the info is lesser known.
data %>%
filter(!is.na(ID),!is.na(Difficulty)) %>%
filter(Question_Type == "Like") %>%
group_by(ID,Accuracy,Difficulty,Source) %>%
summarise(
mean_rating = mean(Rating,na.rm=TRUE),
) %>%
group_by(Accuracy,Difficulty,Source) %>%
summarise(
mean_rate = mean(mean_rating,na.rm=TRUE),
sd_rate = sd(mean_rating,),
se_rate = sd(mean_rating,)/sqrt(n()),
) %>%
ggplot(.) + aes(x = Difficulty, y = mean_rate, fill = Accuracy) +
geom_bar(stat = "summary", fun.y = "mean", position = "dodge") +
xlab("Difficulty of item") + ylab("Likelihood of Liking Post") + labs(fill = "Accuracy of item") +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.background = element_blank(), axis.line = element_line(colour = "black")) +
geom_errorbar(aes(ymin= mean_rate - se_rate, ymax= mean_rate + se_rate), position=position_dodge(width=0.9), width=.1) + geom_text(aes(label=round(mean_rate,digits=2)), position=position_dodge(width=.9), vjust=4.5) + scale_fill_manual(values = wes_palette("GrandBudapest1")) + facet_wrap(vars(Source))
## `summarise()` has grouped output by 'ID', 'Accuracy', 'Difficulty'. You can override using the `.groups` argument.
## `summarise()` has grouped output by 'Accuracy', 'Difficulty'. You can override using the `.groups` argument.
Like ratings as a function of post accuracy, source presence, and how well-known the post is.
data %>%
filter(!is.na(ID),!is.na(Difficulty)) %>%
filter(Question_Type == "Share") %>%
group_by(ID,Accuracy,Difficulty,Source) %>%
summarise(
mean_rating = mean(Rating,na.rm=TRUE),
) %>%
group_by(Accuracy,Difficulty,Source) %>%
summarise(
mean_rate = mean(mean_rating,na.rm=TRUE),
sd_rate = sd(mean_rating,),
se_rate = sd(mean_rating,)/sqrt(n()),
) %>%
ggplot(.) + aes(x = Difficulty, y = mean_rate, fill = Accuracy) +
geom_bar(stat = "summary", fun.y = "mean", position = "dodge") +
xlab("Difficulty of item") + ylab("Likelihood of Sharing Post") + labs(fill = "Accuracy of item") +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.background = element_blank(), axis.line = element_line(colour = "black")) +
geom_errorbar(aes(ymin= mean_rate - se_rate, ymax= mean_rate + se_rate), position=position_dodge(width=0.9), width=.1) + geom_text(aes(label=round(mean_rate,digits=2)), position=position_dodge(width=.9), vjust=4.5) + scale_fill_manual(values = wes_palette("GrandBudapest1")) + facet_wrap(vars(Source))
## `summarise()` has grouped output by 'ID', 'Accuracy', 'Difficulty'. You can override using the `.groups` argument.
## `summarise()` has grouped output by 'Accuracy', 'Difficulty'. You can override using the `.groups` argument.
Share ratings as a function of post accuracy, source presence, and how well-known the post is.