--- title: "Untitled" format: html --- # R: Import Data ```{r warning=FALSE, message=FALSE} library(tidyverse) # install.packages("here) ``` ```{r} data <- readr::read_rds(here::here("data", "processed", "survey_with_labels.rds")) ``` ```{r include=FALSE} head(data) ``` ## R: Transpose Data for OJS ```{r} data_ojs <- data %>% transpose() ``` # Exploration ## R: Expose Data to JS ```{r} ojs_define(data = data_ojs) ojs_define(varnames = names(data)) ojs_define(qlabels = attributes(data)$variable.labels) ``` # R + OJS: Interaction ## OJS: Dropdown ```{ojs} viewof varname_selected = Inputs.select(varnames, {label: "Filter nach:"} ) ``` ```{ojs} viewof filter_val = Inputs.select(varnames, {label: "Filter nach:"} ) ``` ## OJS: Table ```{ojs} viewof tableData = Inputs.table( data, { sort: varname_selected, required: false } ) ``` ## MAIN: Dynamic ggplot ```{ojs} //| echo: false viewof var_x = Inputs.select(varnames, {label: "X Variable"} ) ``` ```{ojs} //| echo: false viewof var_y = Inputs.select(varnames, {label: "Y Variable"} ) ``` ```{ojs} //| echo: false chart = Plot.plot({ inset: 8, grid: true, marks: [ Plot.dot(data, Plot.group({r: "count", fill: "count"}, {x: var_x, y: var_y}) ) ], color: { type: "linear", range: ["steelblue", "orange"] // uses d3.interpolateRgb }, r: { range: [0, 20] }, }) ```