Skip to content

matiasandina/ggethos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2fd669c · Mar 28, 2023

History

50 Commits
Nov 6, 2022
Mar 28, 2023
Nov 14, 2022
Nov 14, 2022
Feb 23, 2023
Nov 12, 2022
Mar 28, 2023
Nov 14, 2022
Nov 13, 2022
Nov 6, 2022
Feb 23, 2023
Oct 30, 2022
Oct 30, 2022
Feb 23, 2023
Nov 13, 2022
Nov 13, 2022
Nov 13, 2022
Nov 13, 2022
Oct 30, 2022

Repository files navigation

ggethos

CRAN status Lifecycle: experimental

The goal of ggethos is to provide a user-frienldy way to plot ethograms using ggplot2.

Installation

At this point, this is an experimental package, and you can only install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("matiasandina/ggethos")

Once it’s on CRAN, you can install the released version of ggethos from CRAN with:

install.packages("ggethos")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("matiasandina/ggethos")

Example

This is a basic example of plotting ethograms with ggethos:

library(ggplot2)
library(ggethos)
library(dplyr)
wombats %>% 
  group_by(wombat) %>% 
  slice(1:2)
#> # A tibble: 8 × 9
#> # Groups:   wombat [4]
#>   wombat trial behaviour trial_frame frame seconds exp_dt             
#>   <chr>  <int> <chr>           <int> <int>   <dbl> <dttm>             
#> 1 gimli      1 <NA>                1     1       0 2019-08-28 06:37:44
#> 2 gimli      1 <NA>                2     2       5 2019-08-28 06:37:44
#> 3 jerry      1 <NA>                1     1       0 2020-09-21 22:16:33
#> 4 jerry      1 <NA>                2     2       5 2020-09-21 22:16:33
#> 5 pomelo     1 digging             1     1       0 2019-09-20 23:57:04
#> 6 pomelo     1 digging             2     2       5 2019-09-20 23:57:04
#> 7 speedy     1 pondering           1     1       0 2020-01-14 08:37:44
#> 8 speedy     1 pondering           2     2       5 2020-01-14 08:37:44
#> # … with 2 more variables: start_dt <dttm>, end_dt <dttm>

Let’s plot the behavior of the wombats

# x axis will be in sample space
ggplot(wombats, aes(y=wombat, behaviour=behaviour)) + geom_ethogram() 

Let’s look at them using a proper x axis and separating by trials:

# x axis will be in seconds
ggplot(wombats, aes(x=seconds, 
                    y=wombat, 
                    behaviour=behaviour,
                    color=behaviour)) + 
  geom_ethogram() +
  facet_wrap(~trial)

Can we align the trials? Yes! Use align_trials = TRUE:

# x axis will be in seconds
# trials re-aligned
ggplot(wombats, aes(x=seconds, 
                    y=wombat, 
                    behaviour=behaviour,
                    color=behaviour)) + 
  geom_ethogram(align_trials = T) +
  facet_wrap(~trial)

Issues

This is a preliminary release and the package is still very much experimental. Please file issues to improve it.