Skip to content

This creates an interesting database using data from the Lahman baseball data source, provided by Sean Lahman at https://www.seanlahman.com/baseball-archive/statistics/, and made easily available in R through the Lahman package by Michael Friendly, Dennis Murphy and Martin Monkman. See the documentation for that package for documentation of the individual tables.

Usage

lahman_sqlite(path = NULL)

lahman_postgres(dbname = "lahman", host = "localhost", ...)

lahman_mysql(dbname = "lahman", ...)

copy_lahman(con, ...)

has_lahman(type, ...)

lahman_srcs(..., quiet = NULL)

Arguments

...

Other arguments passed to src on first load. For MySQL and PostgreSQL, the defaults assume you have a local server with lahman database already created. For lahman_srcs(), character vector of names giving srcs to generate.

type

src type.

quiet

if TRUE, suppress messages about databases failing to connect.

Examples

# Connect to a local sqlite database, if already created
# \donttest{
library(dplyr)

if (has_lahman("sqlite")) {
  lahman_sqlite()
  batting <- tbl(lahman_sqlite(), "Batting")
  batting
}
#> Creating table: AllstarFull
#> Creating table: Appearances
#> Creating table: AwardsManagers
#> Creating table: AwardsPlayers
#> Creating table: AwardsShareManagers
#> Creating table: AwardsSharePlayers
#> Creating table: Batting
#> Creating table: BattingPost
#> Creating table: CollegePlaying
#> Creating table: Fielding
#> Creating table: FieldingOF
#> Creating table: FieldingOFsplit
#> Creating table: FieldingPost
#> Creating table: HallOfFame
#> Creating table: HomeGames
#> Creating table: LahmanData
#> Creating table: Managers
#> Creating table: ManagersHalf
#> Creating table: Parks
#> Creating table: People
#> Creating table: Pitching
#> Creating table: PitchingPost
#> Creating table: Salaries
#> Creating table: Schools
#> Creating table: SeriesPost
#> Creating table: Teams
#> Creating table: TeamsFranchises
#> Creating table: TeamsHalf
#> # Source:   table<Batting> [?? x 22]
#> # Database: sqlite 3.38.5 [/tmp/Rtmp1JwDoQ/lahman.sqlite]
#>    playerID  yearID stint teamID lgID      G    AB     R     H   X2B   X3B
#>    <chr>      <int> <int> <chr>  <chr> <int> <int> <int> <int> <int> <int>
#>  1 abercda01   1871     1 TRO    NA        1     4     0     0     0     0
#>  2 addybo01    1871     1 RC1    NA       25   118    30    32     6     0
#>  3 allisar01   1871     1 CL1    NA       29   137    28    40     4     5
#>  4 allisdo01   1871     1 WS3    NA       27   133    28    44    10     2
#>  5 ansonca01   1871     1 RC1    NA       25   120    29    39    11     3
#>  6 armstbo01   1871     1 FW1    NA       12    49     9    11     2     1
#>  7 barkeal01   1871     1 RC1    NA        1     4     0     1     0     0
#>  8 barnero01   1871     1 BS1    NA       31   157    66    63    10     9
#>  9 barrebi01   1871     1 FW1    NA        1     5     1     1     1     0
#> 10 barrofr01   1871     1 BS1    NA       18    86    13    13     2     1
#> # … with more rows, and 11 more variables: HR <int>, RBI <int>, SB <int>,
#> #   CS <int>, BB <int>, SO <int>, IBB <int>, HBP <int>, SH <int>,
#> #   SF <int>, GIDP <int>

# Connect to a local postgres database with lahman database, if available
if (has_lahman("postgres")) {
  lahman_postgres()
  batting <- tbl(lahman_postgres(), "Batting")
}
#> Error: connection to server at "localhost" (::1), port 5432 failed: Connection refused
#> 	Is the server running on that host and accepting TCP/IP connections?
#> connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
#> 	Is the server running on that host and accepting TCP/IP connections?
# }