library(reshape)
library(dplyr)
#set up data-----------------------------------
setwd("/PATH/TO/FILES")
#read in data
data <- read.csv("ppi_master_average_MCHTHC.csv")
#Take averages across trials ------------------
#group by Subject and Chamber to include them in the final.
avg_df <- data %>%
group_by(Subject, Chamber) %>%
summarise(
STAR120 = mean(STAR120, na.rm = TRUE),
PP3 = mean(PP3, na.rm = TRUE),
PP6 = mean(PP6, na.rm = TRUE),
PP12 = mean(PP12, na.rm = TRUE),
PP9 = mean(PP9, na.rm = TRUE),
PP15 = mean(PP15, na.rm = TRUE)
)
avg_df <-as.data.frame(avg_df)
#Calculate PPI--------------------------------------------
ppi_percent <- avg_df %>%
mutate(ppi03 = (((STAR120 - PP3) / STAR120) * 100),
ppi06 = (((STAR120 - PP6) / STAR120) * 100),
ppi09 = (((STAR120 - PP9) / STAR120) * 100),
ppi12 = (((STAR120 - PP12) / STAR120) * 100),
ppi15 = (((STAR120 - PP15) / STAR120) * 100))
names = colnames(ppi_percent)
#Melt data to use in modelling (long form)------------------
melted.data <- melt(ppi_percent, id.vars = names[1:8],
measure.vars = names[9:ncol(ppi_percent)])
names(melted.data)[9:ncol(melted.data)] <- c("PPI","PPI.value")
melted.data$PPI <- as.numeric(
substr(
melted.data$PPI, nchar(as.character(melted.data$PPI))-1, nchar(as.character(melted.data$PPI))
)
)
#Optionally, include only positive values as often only positive values are considered valid.
data.pos <- subset(melted.data, melted.data$PPI.value >= 0)
#eof