2016-09-19 5 views
0

のデータフレームに、私はこのコードを使用してWebページからテーブルを廃棄R

library(XML) 

url2 <- "http://www.baseball-reference.com/leagues/MLB/" 

data2 <- readHTMLTable(url2, stringAsFactor = FALSE) 

を奇妙なリストを変換することが

$teams_team_wins3000 
    Year G ARI ATL BLA BAL BOS CHC CHW CIN CLE COL DET HOU KCR ANA LAD FLA 
1 2016 149 62 57  81 84 94 72 62 86 71 78 78 75 64 84 73 
2 2015 162 79 67  81 78 97 76 64 81 68 74 86 95 85 92 71 
3 2014 162 64 79  96 71 73 73 76 85 66 90 70 89 98 94 77 
4 2013 163 81 96  85 97 66 63 90 92 74 93 51 86 78 92 62 
5 2012 162 81 94  93 69 61 85 97 68 64 88 55 72 89 86 69 
6 2011 162 94 89  69 90 71 79 79 80 73 95 56 71 86 82 72 
7 2010 162 65 91  66 89 75 88 91 69 83 81 76 67 80 80 80 
8 2009 163 70 86  64 95 83 79 78 65 92 86 74 65 97 95 87 
9 2008 163 82 72  68 95 97 89 74 81 74 74 86 75 100 84 84 

、私にこのようになりますリストを与えましたあなたが好きなら、上のコードをコピーして同じテーブルを得ることができます。問題は、Rがこれをリストのように読んでいることです。私はそれをデータフレームにします。

通常、このコードを使用してデータフレームに変換しますが、今回は動作しません。

do.call(rbind, data2) %>% as.data.frame 

私はRにまだかなり新たなんだ、と私は何をしたいのは、私は、このような何かを見るために、データを構造化することができるように、データフレームの中に、このリストに変換され、

Year Team Wins Games 
2016 ARI 62 149 
2016 ATL 57 149 

すべての援助をいただければ幸いです。

+0

だからあなたはリストには一つのエントリ、または複数のエントリを持っていることを言っている?あなたは「[[」ちょうどあなたが任意のリストの場合と同じようにそれを取り戻すことができますか –

+0

小さな再現可能な例の出力を表示できますか – akrun

+2

おそらく私は質問を正しく得られなかったかもしれませんが、このリストの単一の要素は単なるデータフレームです。 'class(data2 $ teams_team_wins3000); head(data2 $ teams_team_wins3000) ' これは単純に' head(data2 [[1]]) ' –

答えて

1

いくつかの問題があります。スペル:それはstringsAsFactorsです。 はそこにデータフレームがですが、この関数は複数のテーブルを受け入れる用意ができているので、リスト項目としてそこにあります。

str(data2[[1]]) 
'data.frame': 120 obs. of 33 variables: 
$ Year: Factor w/ 117 levels "1901","1902",..: 116 115 114 113 112 111 110 109 108 107 ... 
$ G : Factor w/ 15 levels "111","117","129",..: 6 12 12 13 12 12 12 13 13 13 ... 
$ ARI : Factor w/ 19 levels "","100","51",..: 4 10 5 11 11 17 6 7 12 15 ... 
$ ATL : Factor w/ 55 levels "101","103","104",..: 16 26 37 53 51 46 48 44 31 42 ... 
$ BLA : Factor w/ 4 levels "","50","68","BLA": 1 1 1 1 1 1 1 1 1 1 ... 
$ BAL : Factor w/ 53 levels "100","101","102",..: 37 37 50 40 47 26 23 21 25 26 ... 
$ BOS : Factor w/ 51 levels "101","104","105",..: 35 29 22 48 21 41 40 46 46 47 ... 
$ CHC : Factor w/ 47 levels "100","104","107",..: 42 44 21 14 10 19 23 31 44 33 ... 
$ CHW : Factor w/ 46 levels "100","49","51",..: 20 24 21 11 32 27 35 27 36 20 ... 
$ CIN : Factor w/ 45 levels "100","102","108",..: 10 11 22 36 42 25 37 24 20 18 ... 
$ CLE : Factor w/ 44 levels "100","111","51",..: 31 26 30 37 13 25 14 10 26 40 ... 
snipped rest of the 33 columns 

試してみてください:

data2 <- readHTMLTable(url2, stringsAsFactors = FALSE) 
str(data2[[1]]) 
関連する問題