## ----include = FALSE----------------------------------------------------------
has_deps <- requireNamespace("plotly", quietly = TRUE) &&
  requireNamespace("htmlwidgets", quietly = TRUE)
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5,
  eval = has_deps
)

## ----eval = FALSE-------------------------------------------------------------
# # install.packages("remotes")
# remotes::install_github("gygpsicologos-eng/visual.kaito")

## ----setup--------------------------------------------------------------------
library(visual.kaito)

## ----ttest-example------------------------------------------------------------
set.seed(1)
df2 <- rbind(
  data.frame(iq = rnorm(30, 100, 12), anxiety = rnorm(30, 45, 8), group = "Control"),
  data.frame(iq = rnorm(30, 96, 11), anxiety = rnorm(30, 58, 9), group = "Clinical")
)

fig2 <- ttest_plot3d(df2, x = "iq", z = "anxiety", group = "group", n_grid = 35)
fig2

## ----ttest-stats--------------------------------------------------------------
str(attr(fig2, "stats"), max.level = 1)

## ----manova-example-----------------------------------------------------------
set.seed(2)
df3 <- rbind(
  data.frame(iq = rnorm(25, 100, 12), anxiety = rnorm(25, 45, 8), group = "Control"),
  data.frame(iq = rnorm(25, 96, 11), anxiety = rnorm(25, 58, 9), group = "Mild"),
  data.frame(iq = rnorm(25, 90, 13), anxiety = rnorm(25, 66, 10), group = "Severe")
)

fig3 <- manova_plot3d(df3, x = "iq", z = "anxiety", group = "group",
                       control = "Control", n_grid = 35)
fig3

## ----chisq-example------------------------------------------------------------
set.seed(1)
df4 <- data.frame(
  tipo = sample(c("A", "B", "C"), 300, replace = TRUE, prob = c(0.4, 0.35, 0.25)),
  sexo = sample(c("Varon", "Mujer"), 300, replace = TRUE),
  compra = sample(c("Si", "No"), 300, replace = TRUE)
)

fig4 <- chisq_plot3d(df4, row = "tipo", col = c("sexo", "compra"), lang = "en")
fig4

## ----paired-example-----------------------------------------------------------
set.seed(1)
n <- 20
df5 <- data.frame(x_pre = rnorm(n, 60, 9), z_pre = rnorm(n, 18, 4))
df5$x_post <- df5$x_pre - rnorm(n, 9, 6)
df5$z_post <- df5$z_pre - rnorm(n, 6, 4)

fig5 <- paired_plot3d(df5, x_pre = "x_pre", x_post = "x_post",
                       z_pre = "z_pre", z_post = "z_post")
fig5

## ----irt-example--------------------------------------------------------------
set.seed(1)
n <- 200
theta <- rnorm(n)
logistic <- function(x) 1 / (1 + exp(-x))
df6 <- data.frame(
  i1 = rbinom(n, 1, logistic(1.2 * (theta - (-0.5)))),
  i2 = rbinom(n, 1, logistic(1.4 * (theta - 0.3))),
  i3 = rbinom(n, 1, logistic(0.9 * (theta - 0.8)))
)

if (requireNamespace("mirt", quietly = TRUE)) {
  fig6 <- irt_plot3d(df6, items = c("i1", "i2", "i3"), lang = "en")
  fig6
}

## ----box-example--------------------------------------------------------------
set.seed(3)
df1 <- rbind(
  data.frame(iq = rnorm(30, 100, 12), anxiety = rnorm(30, 45, 8),
             mood = rnorm(30, 50, 10), group = "Control"),
  data.frame(iq = rnorm(30, 96, 11), anxiety = rnorm(30, 58, 9),
             mood = rnorm(30, 40, 11), group = "Clinical")
)

boxplot3d_interactive(df1, x = "iq", y = "anxiety", z = "mood", group = "group")

## ----ttest2d-example----------------------------------------------------------
ttest_plot(t = 2.4, df = 28, alternative = "greater")

