Learn R Programming

⚠️There's a newer version (0.5.2) of this package.Take me there.

rtrek

Author: Matthew Leonawicz License: MIT

The rtrek package provides datasets related to the Star Trek fictional universe and functions for working with those datasets. It interfaces with the Star Trek API (STAPI), Memory Alpha and Memory Beta to retrieve data, metadata and other information relating to Star Trek.

The package also contains several local datasets covering a variety of topics such as Star Trek timeline data, universe species data and geopolitical data. Some of these are more information rich, while others are toy examples useful for simple demonstrations. The bulk of Star Trek data is accessed from external sources by API. A future version of rtrek will also include summary datasets resulting from text mining analyses of Star Trek novels.

Image: Example Leaflet map using non-geographic Star Trek map tiles.

Installation

Install the CRAN release of rtrek with

install.packages("rtrek")

Install the development version from GitHub with

# install.packages("remotes")
remotes::install_github("leonawicz/rtrek")

Examples

Time to be good detectives. Good thing Data has R installed.

These are just a few examples to help you jump right in. See the package articles for more.

STAPI

Use the Star Trek API (STAPI) to obtain information on the infamous character, Q. Specifically, retrieve data on his appearances and the stardates when he shows up. The first API call does a lightweight, unobtrusive check to see how many pages of potential search results exist for characters in the database. There are a lot of characters. The second call grabs only page two results. The third call uses the universal/unique ID uid to retrieve data on Q. Think of these three successive uses of stapi as safe mode, search mode and extraction mode.

library(rtrek)
library(dplyr)
stapi("character", page_count = TRUE)
#> Total pages to retrieve all results: 66

stapi("character", page = 1) %>% select(uid, name)
#> # A tibble: 100 x 2
#>    uid            name            
#>    <chr>          <chr>           
#>  1 CHMA0000021696 Pechetti        
#>  2 CHMA0000028502 Pomet           
#>  3 CHMA0000134966 Eddie Newsom    
#>  4 CHMA0000101321 T. Virts        
#>  5 CHMA0000053158 Annabelle series
#>  6 CHMA0000008975 Torias Dax      
#>  7 CHMA0000232471 T. Peel         
#>  8 CHMA0000087568 Grathon Tolar   
#>  9 CHMA0000190805 C. Russell      
#> 10 CHMA0000069617 Mike Vejar      
#> # ... with 90 more rows

Q <- "CHMA0000025118" #unique ID
Q <- stapi("character", uid = Q)
Q$episodes %>% select(uid, title, stardateFrom, stardateTo)
#>              uid                 title stardateFrom stardateTo
#> 1 EPMA0000001458    All Good Things...      47988.0    47988.0
#> 2 EPMA0000000845                Q-Less      46531.2    46531.2
#> 3 EPMA0000001329                 Q Who      42761.3    42761.3
#> 4 EPMA0000000651              Tapestry           NA         NA
#> 5 EPMA0000001510    The Q and the Grey      50384.2    50392.7
#> 6 EPMA0000000483 Encounter at Farpoint      41153.7    41153.7
#> 7 EPMA0000162588            Death Wish           NA         NA
#> 8 EPMA0000001413                True Q      46192.3    46192.3
#> 9 EPMA0000001377                  Qpid      44741.9    44741.9

Memory Alpha

Obtain content and metadata from the article about Spock on Memory Alpha:

x <- ma_article("Spock")
x
#> # A tibble: 1 x 4
#>   title content    metadata               categories           
#>   <chr> <list>     <list>                 <list>               
#> 1 Spock <xml_ndst> <tibble[,18] [1 x 18]> <tibble[,2] [14 x 2]>
x$metadata[[1]]$Born
#> [1] "January 6, 2230 (stardate 2230.06)|ShiKahr, Vulcan"

Memory Beta

Spock was born in 2230. Obtain a subset of the Star Trek universe historical timeline for that year:

mb_timeline(2230)
#> 2230
#> $events
#> # A tibble: 5 x 4
#>   period id                date  notes                                                              
#>   <chr>  <chr>             <chr> <chr>                                                              
#> 1 2230   Events            <NA>  Argelius II  and Betelgeuse become members of the Federation.[1][2]
#> 2 2230   Births_and_Deaths <NA>  Spock is born deep within a cave in Vulcan's Forge on Vulcan.[3][4]
#> 3 2230   Births_and_Deaths <NA>  George Samuel Kirk, Jr. is born.[5]                                
#> 4 2230   Births_and_Deaths <NA>  David Rabin is born.[6]                                            
#> 5 2230   Births_and_Deaths <NA>  Roy John Moss is born.[7]                                          
#> 
#> $stories
#> # A tibble: 5 x 11
#>   title            title_url           colleciton    collection_url  section      context series      date      media      notes                                       image_url        
#>   <chr>            <chr>               <chr>         <chr>           <chr>        <chr>   <chr>       <chr>     <chr>      <chr>                                       <chr>            
#> 1 Burning Dreams   Burning_Dreams      <NA>          <NA>            Chapters 4 ~ <NA>    The Origin~ 2230      novel      <NA>                                        File:BurningDrea~
#> 2 Star Trek V: Th~ Star_Trek_V:_The_F~ <NA>          <NA>            Chapter 14   <NA>    The Origin~ 2230      movie nov~ <NA>                                        File:TrekV.jpg   
#> 3 IDW Star Trek, ~ IDW_Star_Trek,_Iss~ Star Trek (I~ Star_Trek_(IDW) 2230 flashb~ <NA>    The Origin~ 2230      comic      Flashback to USS Kelvin and Keenser's join~ File:IDW_TOS_14_~
#> 4 Star Trek        Star_Trek_(2009)    <NA>          <NA>            Chapter 1 (~ <NA>    The Origin~ 2230      movie nov~ Depiction of Spock's birth, date taken fro~ File:Star_Trek_f~
#> 5 Sarek            Sarek_(novel)       <NA>          <NA>            Chapter 5    <NA>    The Origin~ 12 Novem~ novel      <NA>                                        File:Sarek_novel~

Live long and prosper.

Reference

Complete package reference and function documentation

Packages in the trekverse

rtrek: The core Star Trek package

Datasets related to Star Trek, API wrappers to external data sources, and more.

lcars: LCARS aesthetic for Shiny

Create Shiny apps based on the Library Computer Access/Retrieval System (LCARS).

trekcolors: A color palette package

Predefined and customizable Star Trek themed color palettes and related functions.

trekfont: A fonts package

True (Trek) type fonts to style your Star Trek themed graphics text.

Citation

Matthew Leonawicz (2021). rtrek: Datasets and Functions Relating to Star Trek. R package version 0.3.3. https://CRAN.R-project.org/package=rtrek

Contribute

Contributions are welcome. Contribute through GitHub via pull request. Please create an issue first if it is regarding any substantive feature add or change.


Please note that the rtrek project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Copy Link

Version

Install

install.packages('rtrek')

Monthly Downloads

346

Version

0.3.3

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Matthew Leonawicz

Last Published

June 1st, 2021

Functions in rtrek (0.3.3)

memory_beta

Memory Beta API
ma_search

Memory Alpha site search
ma_article

Read Memory Alpha article
mb_image

Memory Beta images
%>%

Pipe operator
mb_article

Read Memory Beta article
ma_image

Memory Alpha images
mb_timeline

Memory Beta timeline
mb_search

Memory Beta site search
rtrek

rtrek: Star Trek datasets and related R functions.
st_datasets

Available datasets
stBooks

Star Trek novel metadata.
tlFootnotes

Star Trek timeline footnotes.
memory_alpha

Memory Alpha API
stSpecies

Species names and avatars, linked primarily from Memory Alpha.
stSeries

Star Trek series.
tlEvents

Star Trek event-based timeline.
tlBooks

Star Trek novel-based timeline.
st_font

Preview Star Trek fonts
stapi

Retrieve Star Trek data from STAPI
stTiles

Available Star Trek map tile sets.
stapiEntities

Star Trek API entities.
st_books_wiki

Go to Wikipedia entry for a specific book series
st_logo

Star Trek logos
stGeo

Raster grid location data for stellar cartographic map tile sets.
tile_coords

Simple CRS coordinates
theme_rtrek

ggplot2 themes
st_tiles

Return the url associated with a tile set
st_tiles_data

Ancillary location data for map tiles
st_transcripts

Import transcripts
stLogos

Star Trek logos metadata.