2017-03-10 14 views
-1

2つのテーブルをRにスクラップしてトリムしましたが、今度は元の列の1つを2つに分割して新しいテーブルを作成します。これを行うために、私は次のコードを書いている:私は数え切れないほどの他のテーブルで、このコード数え切れないほどの時間を実行したRでエラーメッセージを解釈し、1つの列を2つに分割して新しいデータフレームを作成

page.201702050atl = read_html("http://www.pro-football-reference.com/boxscores/201702050atl.htm") 
comments.201702050atl = page.201702050atl %>% html_nodes(xpath = "//comment()") 
home.drives.201702050atl = comments.201702050atl[43] %>% html_text() %>% read_html() %>% html_node("#home_drives") %>% html_table() 
home.drives.201702050atl.a = home.drives.201702050atl[ , 2:8] 
LOS.home.201702050atl = t(data.frame(strsplit(as.character(home.drives.201702050atl.a$LOS), " ", 2))) 
LOS.vis.201702050atl = t(data.frame(strsplit(as.character(home.drives.201702050atl.a$LOS), " ", 2))) 

を。しかし、これらの二つの(ほぼ同じ)テーブルの上に、私は理解していない問題を抱えているように見える:

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : 
    arguments imply differing number of rows: 2, 0 

誰かが私のために英語にこのエラーメッセージを翻訳していただけますか?この特定のケースで何が間違っていますか?最後に、どのように修正するのですか?

EDIT:

home.drives.201702050atlの5行目の欠けているセルがあります。当初私はこれが問題かもしれないと思った。しかし、それが私が2番目のテーブルを含む理由です。 2番目の表には、欠落したセルはありません。それでも、私は同じエラーに遭遇する。それは最初のテーブルのそれに似ていますが、私は元の投稿に2番目のテーブルのコーディングの全体を含めていませんでした。以下を見つけてください:

> page.201702050atl = read_html("http://www.pro-football-reference.com/boxscores/201702050atl.htm") 
> comments.201702050atl = page.201702050atl %>% html_nodes(xpath = "//comment()") 
> vis.drives.201702050atl = comments.201702050atl[44] %>% html_text() %>% read_html() %>% html_node("#vis_drives") %>% html_table() 
> vis.drives.201702050atl.a = vis.drives.201702050atl[ , 2:8] 
> LOS.vis.201702050atl = t(data.frame(strsplit(as.character(home.drives.201702050atl.a$LOS), " ", 2))) 
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : 
    arguments imply differing number of rows: 2, 0 
+0

コードをステップバイステップで実行し、作成したオブジェクトを確認してください。チェーンが壊れた場所がわかり、解決策を見つけることができます。 – ottlngr

+0

[this](http://stackoverflow.com/questions/26147558/arguments-imply-differing-number-ofrows-8-20)、[this](http://stackoverflow.com/questions)の可能な複製/ 30270946 /引数 - 異なる行数 - 2-4-3-5)と[this](http://stackoverflow.com/questions/35814146/r-error-arguments-imply-differing-行の数)? – zx8754

+0

私は行ごとに行って、行5、新しいテーブルを作ることを求める行にエラーが発生しただけです。重複コメントに関しては、引用する投稿にも「行数が異なる」というエラーが発生しますが、それまでのビルドは全く異なります。 – DataProphets

答えて

0

エラーはコードの5行目からのものです。

home.drives.201702050atl.a %>% 
    `$`(LOS) %>% 
    as.character() %>% 
    strsplit(., " ", 2) %>% 
    purrr::map_int(length) 

[1] 2 2 2 2 0 2 2 2 2 2 2 

第5要素の長さは0です。エラーは、行数が異なるデータフレームを作成した結果です。 5番目の要素を取り除くと、問題が解決する可能性があります。

+0

それは私が問題が最初であったと思ったものです。しかし、2番目のテーブルに欠落したセルはなく、同じエラーが発生します。私は2番目の表の私の説明でもっと徹底していたはずです。最初の投稿を編集して、そのコーディングの全体を含めます。 – DataProphets

関連する問題