Merge together multiple dataframes
The for loop can be replaced with a lapply statement.
Using base R functions, your read_season_range example is equivalent to the following one-liner:

sixties &lt;- do.call(rbind, lapply(1960:1969, read_season))


or to wrap it in a function:

read_season_range &lt;- function(year_range) {
  do.call(rbind, lapply(year_range, read_season))
}