## code to prepare `DATASET` dataset goes here
# read pfau data and replace <0 with -1
library(tidyverse)
library(eye)
data_wide <- read.csv("data-raw/norm_pfau.csv", header=TRUE, sep=";", stringsAsFactors = FALSE) %>%
mutate_at(.vars = vars(contains('X')), function(x) str_replace(x, '<0','-1'))
#data to long format
#splitting columns, removing "X" in the "position" variable
# reassigning data types
norm_pfau <-
data_wide %>%
pivot_longer(names_to = 'position', values_to = 'threshold', X0_0:X10_180) %>%
separate(position, sep = "_", into = c("eccent", "angle")) %>%
separate(Type, sep = "_", into = c("testtype", "testnumber")) %>%
mutate(eccent = as.integer(str_replace(eccent, "X", "")),
angle = as.integer(angle),
threshold = as.integer(threshold),
testtype = tolower(testtype),
lens = replace_na(Lens, 'natural'),
lens = if_else(lens != "pp", "natural", "pseudo"),
sex = if_else(Sex == 'Male', 'm','f'),
eye = recodeye(Eye),
angle = ifelse(.data$eye == 'l', 180- .data$angle, .data$angle),
angle = ifelse(sign(.data$angle) == -1,
360 + .data$angle, .data$angle),
angle = ifelse(.data$eccent == 0, 0, .data$angle)
) %>%
select(patID = Patient.ID, eye, age = Age, sex, lens, testID = Examination.ID, contains('Fixation'),
wrong = WrongPressureEvents, testtype, testnumber, avg_rctn = Average.reaction.time,
eccent, angle, threshold) %>%
select(-testID)
#calculate difference of cyan and red exam
# pivot_wider(id_cols = c(patID, testtype, testnumber, eccent, angle) ,
# names_from = 'testtype', values_from = 'value',
# .keep_all = TRUE)
# %>%
# mutate(cr_diff = cyan - red) %>%
# pivot_longer(names_to = 'testtype', values_to = 'value', cols = mesopic:cr_diff) %>%
# mutate(testID = paste(patID, eye, testtype, testnumber, sep = '_')) %>%
# arrange(testID, eccent, angle) %>%
# group_by(testID) %>%
# mutate(stimID = seq_along(testID)) %>%
# ungroup()
pfau_nest <-
nest(norm_pfau, data = c(eccent, angle, threshold)) %>%
rename(bcea63 = "Fixation.area.0.632",
bcea95 = "Fixation.area.0.950", fix_angle = "Fixation.angle")
usethis::use_data(pfau_nest, overwrite = TRUE)
denniss_names <-
unname(unlist(read.csv("data-raw/norm_denniss.csv", header=FALSE)[1, ])) %>%
gsub("\\(", "x", .) %>%
gsub(", ", ",y", .) %>%
gsub("\\)", "", .)
data_denniss <- setNames(read.csv("data-raw/norm_denniss.csv"), denniss_names)
norm_denniss <- data_denniss %>%
pivot_longer(cols = starts_with("x"), names_pattern = "x(.+),y(.+)",
names_to = c("x", "y"), values_to = "threshold") %>%
select(patID = Participant, sex = "Male/Female",
age = starts_with("Age"), eye = "Eye tested",
VA = matches("^VA"), everything()) %>%
mutate(eye = recodeye(eye))
denniss_nest <- nest(norm_denniss, data = c(x,y, threshold))
usethis::use_data(denniss_nest, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.