load data.

# rm(list = ls())
library(jsonlite)
library(ggplot2)
library(tidyr)
library(dplyr)
library(binom)
library(bootstrap)
library(langcog)

raw.data.path <- "/Users/ericang/Documents/Research/polgrice_GIT/experiment/exp_versions/21_L2_S_wNeg_v2/production-results/"

## LOOP TO READ IN FILES
all.data <- data.frame()
files <- dir(raw.data.path,pattern="*.json")

for (file.name in files) {
  
  ## these are the two functions that are most meaningful
  json_file <- readLines(paste(raw.data.path,file.name,sep=""))
  json_file_str = paste(json_file, collapse = "")
  json_file_str = gsub(",}", "}", json_file_str)
  jso = jsonlite::fromJSON(json_file_str)
  jso$answers$data$people <- NULL
  jso1 <- data.frame(jso)
  jso1$subid <- substring(file.name, 1, 6)
  
  ## now here's where data get bound together
  all.data <- rbind(all.data, jso1)
}

Filter out participants and clean up.

d <- all.data %>%
  select(subid, answers.data.order, answers.data.domain, answers.data.goal, answers.data.utterance, answers.data.judgment) %>%
  mutate(subid = as.factor(subid)) %>%
  mutate(trial = as.numeric(answers.data.order)) %>%
  mutate(item = as.factor(answers.data.domain)) %>%
  mutate(goal = as.factor(answers.data.goal)) %>%
  mutate(utterance = as.factor(answers.data.utterance)) %>%
  mutate(judgment = as.numeric(as.character(answers.data.judgment))/20) %>%
  mutate(positivity = factor(as.numeric(grepl("yes", utterance)), 
                        levels = c(0, 1), 
                        labels = c("negative","positive"))) %>%
  mutate(utterance = substring(utterance, 5)) %>%
  select(subid, goal, trial, item, positivity, utterance, judgment) %>%
  mutate(goal = factor(goal, levels = c("informative", "social", "both", "no_goal")))

d$utterance <- ordered(d$utterance, levels = c("terrible", "bad", "okay", "good", "amazing"))
d$positivity <- relevel(d$positivity, ref="positive")
levels(d$positivity) <- c("it was ___", "it wasn't ___")
## Joining, by = c("goal", "positivity", "utterance")

ggplot(d, 
       aes(x=judgment,
           fill = goal)) +
  geom_histogram(binwidth=0.5, position="dodge") +
  facet_grid(utterance~positivity)