私は次のような大きな乱雑なデータファイルを作成します。
1 2 3 4 5 6 7 8 . .
aa bb ccc d eee ffff gg h i jj
6 6 5 1 2 3 4 5i 734
33 44x 1234 12 1 9 888 345 12 987765
すべてではありませんが、ほとんどのデータファイルの行には同じ数の要素があります。そのようなデータファイルを読み取り、それをマトリックスまたはデータフレームに変換するための最良の方法は何ですか?
私はreadLines
ファイルを読むために使用しています。
また、以前の質問の1つに対する回答から、非対称リストは次の3行を使用して行列に変換できることがわかりました。
R:非対称リストを行列に変換します-各サブリストの要素数が異なります
max.len <- max(sapply(my.data, length))
corrected.list <- lapply(my.data, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
私は多分私ができると思っていました:
- でデータファイルを読み取る
readLines
- データセットの各行を個別の要素に分割してから、
- データセット全体をリストに変換してから、
- 上記の3行を使用してマトリックスを作成します
ただし、手順2で行き詰まります。要素間の空きスペースの数が異なるため、各行を個別の要素に分割する方法がわかりません。さらに、提案された4ステップ戦略は効率的ではないと思います。
この問題についてご協力いただきありがとうございます。
編集
申し訳ありませんが、希望する結果を投稿するのを忘れてしまいました。マトリックスまたはデータフレームに入ると、データは次のようになります。
1 2 3 4 5 6 7 8 . .
aa bb ccc d eee ffff gg h i jj
6 6 5 1 2 3 4 5i 734 NA
33 44x 1234 12 1 9 888 345 12 987765