"Results do not have equal lengths" using ldply in R package plyr
Here's a slightly modified version using some newer "tidyverse" packages:

library(rvest) 
library(purrr) # flatten/map/safely
library(dplyr) # progress bar

# just in case there isn't a valid page
safe_read &lt;- safely(read_html)

fetch_current_players &lt;- function(letter){

  URL &lt;- sprintf("http://www.baseball-reference.com/players/%s/", letter)
  pg &lt;- safe_read(URL)

  if (is.null(pg$result)) return(NULL)

  player_data &lt;- html_nodes(pg$result, "b a")

  html_text(player_data)

}

pb &lt;- progress_estimated(length(letters))
player_list &lt;- flatten_chr(map(letters, function(x) {
  pb$tick()$print()
  fetch_current_players(x)
}))