私はBaseball Referenceのウェブサイトから各プレーヤーの複数の年(変数「年」)をループする関数を使用して、 「playerid」と記されています。Rの関数を使用してウェブサイトをスクラップし、「範囲外の添え字」エラーを返します
ここに見られるように、それは、データの単一年分に適用された場合、この機能は完全にうまく機能library(plyr)
library(XML)
fetch_stats <- function(playerid, year) {
url <- paste0("http://www.baseball-reference.com/players/gl.cgi?id=",playerid,"&t=b&year=",year)
data <- readHTMLTable(url, stringsAsFactors = FALSE)
data <- data[[3]]
data$Year <- year
data$PlayerId <- playerid
data
}
:しかし
AdrianGonzales <- ldply("gonzaad01", fetch_stats, year= 2008, .progress="text")
、できるだけ早く私は実際には複数をループに関数を使用して選手のキャリアの中で年が、それは常に次のエラー吐く:あなたはLIMを超えたときに私は、「範囲外の添字」を見つけることができたものから、
AdrianGonzales <- ldply("gonzaad01", fetch_stats, year= 2009:2004, .progress="text")
Error in data[[3]] : subscript out of bounds
In addition: Warning message:
XML content does not seem to be XML: 'http://www.baseball- reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2009
http://www.baseball-reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2008
http://www.baseball-reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2007
http://www.baseball-reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2006
http://www.baseball-reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2005
http://www.baseball-reference.com/players/gl.cgi?id=gonzaad01&t=b&year=2004'
をエラーが発生しましたこの特定の関数については、私はちょうどダムかもしれませんが、このケースではどのように適用されるのでしょうか、または1年の間に何が働くのかはわかりません。 。
私はすべての提案を受け付けています。早めにありがとう。
'XML'と' plyr'の 'library'呼び出しを完全性のために質問に追加できますか? – steveb
ライブラリ呼び出しが追加されました。 – ImTerribleWithComputers