---
title: "Quick start"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Quick start}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
message = FALSE
)
```
This quick-start guide demonstrates how to generate multi-cluster high-dimensional data. We simulate three distinct $4\text{-}D$ clusters with different shapes, scales, and rotations.
```{r setup}
library(cardinalR)
library(langevitour)
```
Each cluster can be rotated in a different way across specified $2\text{-}D$ planes.
```{r}
rot1 <- gen_rotation(p = 4, planes_angles = list(list(plane = c(1, 2), angle = 60),
list(plane = c(3, 4), angle = 90)))
rot2 <- gen_rotation(p = 4, planes_angles = list(list(plane = c(1, 3), angle = 30)))
rot3 <- gen_rotation(p = 4, planes_angles = list(list(plane = c(2, 4), angle = 45)))
```
We use `gen_multicluster()` to generate 3 clusters with varying shapes and positions in $4\text{-}D$ space.
```{r}
clust_data <- gen_multicluster(n = c(200, 300, 500), k = 3,
loc = matrix(c(
0, 0, 0, 0,
5, 9, 0, 0,
3, 4, 10, 7
), nrow = 3, byrow = TRUE),
scale = c(2, 5, 1),
shape = c("gaussian", "cone", "unifcube"),
rotation = list(rot1, rot2, rot3),
add_bkg = FALSE
)
langevitour(clust_data |> dplyr::select(-cluster),
pointSize = 2, group = clust_data$cluster)
```