1

これが私がこれまでに行ったことです。つまり、基本的には、XML を使用してインターネットからいくつかのテーブルを取得し、それらをデータフレームのリストに入れ、効率的で一貫した方法でそれらをフォーマットしようとして (そして失敗して) いくつかの混乱を引き起こします。

すべてのデータフレームに同じ変更を適用する方法がわかりません。llply を使用する必要があると思いますが、うまくいきません。全体的に私は達成しようとしています:

  • make.names を使用して列名をすべて正当な R 名にし、ファイルの末尾に向かって str_replace_all を使用してすべての非アルファベット文字を削除し、名前が同じになるようにします

  • 次に、すべてのデータフレームから最初の 4 列を除くすべてを削除したい

  • 次に、各本のタイトルを含む列を追加します。私はこれを手動で行う必要があると思います。

  • 最後に、rbind を実行してすべてのデータフレームを結合したい

本当に困惑したのは、列名の変更や行の切り捨てなど、リスト内の各データフレームに同じ変換を適用する方法です。llply はその仕事に適したツールですか? どうやって使うの?

これまでのところ、データフレームのリストを正しい名前のベクトルのリストに変えることができました。これは、names() を使用しようとしたときに、正しい名前のデータフレームではなく、正しい名前のベクトルが返されたためだと思います。これは私の試みでした:

tlist <- llply(tabs, function(x) as.data.frame(str_replace_all(make.names(names(x)), "[^[:alpha:]]", "")))

ここから何百万マイルも離れているとは思いませんが、完全な df を返す方法が思いつきません。

4

1 に答える 1