---
title: "ShiVa Example"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{ShiVa Example}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
# Introduction
This vignette demonstrates how to use the ShiVa R package to detect evolutionary shifts in both optimal trait values (mean) and evolutionary variance under an Ornstein-Uhlenbeck (OU) model.
We illustrate the process using a floral trait dataset from Euphorbiaceae species. It is available at phylolm.
```{r setup}
library(ShiVa)
library(phylolm)
```
# Setup
Load the required packages:
```{r}
data('flowerTree')
data('flowerSize')
```
# Load example data
We load the phylogenetic tree and trait data. The trait is floral diameter, log-transformed.
```{r}
Y = flowerSize$log_transformed_size
names(Y) = rownames(flowerSize)
tree = flowerTree
# normalize the tree
tree$edge.length = flowerTree$edge.length/max(node.depth.edgelength(flowerTree))
```
# Run ShiVa
```{r}
set.seed(111)
result = ShiVa(Y, tree)
```
# Visualize Detected Shifts
```{r,fig.height=8,fig.width=8}
plot(result$best_model,title = "ShiVa")
```
# Summarize Shifts
```{r}
print(summary(result$best_model))
```