Dave Roberts (pitcher)

Dave Roberts (pitcher)

David Arthur Roberts (September 11, 1944 – January 9, 2009) was an American left-handed pitcher in Major League Baseball who played for eight teams from 1969 to 1981. He was second in the National League (NL) with a 2.10 earned run average (ERA) in 1971 for the San Diego Padres, after which he was traded to the Houston Astros, where he spent the four most productive years of his career. Over his major league career he won 103 games.

Born in

He was one of the best Jewish pitchers all-time in major league history through 2010, ranking fourth in career games (445; behind only Scott Schoeneweis, Ken Holtzman, and John Grabow), fourth in wins (103) and strikeouts (957) behind Sandy Koufax, Holtzman, and Steve Stone, and seventh in ERA (3.78).[1]

Contents

  • Minor league career 1
  • Major league career 2
    • Padres 2.1
    • Astros 2.2
    • Tigers 2.3
    • Cubs 2.4
    • 1979: Giants and Pirates 2.5
    • Remaining career 2.6
    • Hitting 2.7
    • Trivia 2.8
  • Death 3
  • The other Dave Roberts 4
  • See also 5
  • References 6
  • External links 7

Minor league career

Roberts was approached by 14 teams after graduating from high school before being signed in June 1963 as an undrafted amateur free agent by the Philadelphia Phillies because they reportedly wanted to have a player of Jewish faith in the organization to attract the Jewish fan base.

He played as a farmhand for the Phillies, Kansas City A's and Pittsburgh Pirates (who claimed him on waivers in April 1964), before being taken by San Diego with the 39th pick in the 1968 Major League Baseball expansion draft.

In the minor leagues from 1963–69, he was 65–32 with a 3.00 ERA. Roberts was 1968 Pitcher of the Year for the International League Columbus Jets, after going 18–5.

Major league career

Padres

After debuting with the Padres in 1969, Roberts was sixth in the NL in walks per 9 innings (2.13) in 1970. He went 14–17 for the last-place 1971 Padres, finishing second to the New York Mets' Tom Seaver with a 2.10 ERA. He was sixth in the voting for the NL Cy Young Award, seventh in walks per 9 innings (2.04), ninth in innings pitched (269.7), tenth in complete games (14), and 24th in the voting for the NL MVP Award. He held batters to a .191 batting average when runners were in scoring position.

In December 1971 he was traded by the Padres to the Houston Astros for Mark Schaeffer, Bill Greif, and Derrel Thomas. His being traded by the Padres was just prior to the Padres signing another Dave Roberts (see below), who joined the club in 1972. If this trade had not occurred, the Padres roster would have featured two unrelated players named "Dave Roberts", making this among the few occasions where a team's roster featured two unrelated players with the same name.

Astros

In 1972 he was 12–7 for the Astros. In 1973, he recorded a career-best 17–11 record, setting a club record with a career-high six shutouts (second in the NL). He was sixth in the NL in wins and sacrifice hits (12), seventh in games started (36), eighth in complete games (12), and tenth in ERA (2.85) and walks per nine innings (2.24).

In December 1975 he was traded by the Astros with Jim Crawford and Milt May to the Detroit Tigers for Mark Lemongello, Gene Pentz, Terry Humphrey and Leon Roberts.

Tigers

After a 16–17 season with the 1976 Tigers, in which he was fifth in the American League (AL) in shutouts (4), seventh in games started (36) and ninth in complete games (18), he had surgery to correct an arthritic knee.

In July 1977 he was purchased by the Chicago Cubs.

Cubs

In 1978 he batted .327 for the Cubs, with a .500 slugging percentage, in 52 at bats.

In February 1979 he signed as free agent with the San Francisco Giants.

1979: Giants and Pirates

In June 1979 he was traded by the Giants with Len Randle and Bill Madlock to the Pittsburgh Pirates for Al Holland, Fred Breining, and Ed Whitson. Combined, in 1979 he had a 2.90 ERA.

Remaining career

After pitching just two games for the Pirates in 1980, Roberts was purchased by the Seattle Mariners in April. He pitched the rest of the season in Seattle, going 2–3.

Following that season, Roberts became a free agent, and in January 1981 he was signed by the Mets. He pitched just seven games for the Mets, going 0–3 with a 9.39 ERA, before being released in May. In June, Roberts was signed as a free agent by the Giants, but never pitched for them in the majors.

He was one of the best Jewish pitchers all-time in major league history through 2010, ranking fourth in career games (445; behind only Scott Schoeneweis, Ken Holtzman, and John Grabow), fourth in wins (103) and strikeouts (957) behind Sandy Koufax, Holtzman, and Steve Stone, and seventh in ERA (3.78).[2]

Hitting

A good hitter for a pitcher, Roberts had a career batting average of .194 with seven home runs.

Trivia

On the final day of the 1976 season, Roberts gave up Hank Aaron's final career hit and RBI in the sixth inning. Aaron was lifted for a pinch runner.

Death

On January 9, 2009, Roberts died of lung cancer in Short Gap, West Virginia.[3][4][5]

The other Dave Roberts

As noted above, his career overlapped with another Dave Roberts, who was a Major League Baseball third baseman from 1972 through 1982. Both played for the Padres as well, although not at the same time.

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^
  4. ^
  5. ^

External links

  • Career statistics and player information from MLB, or Baseball-Reference, or Fangraphs, or The Baseball Cube, or Baseball-Reference (Minors)
  • Baseball Almanac
  • BR Bullpen profile
  • Jewish Major League career leaders