約 300 の個別の CSV を読み込む必要があります。ループと構造化された CSV 名を使用して、プロセスを自動化することができました。ただし、各 CSV には先頭に 14 ~ 17 行のごみがあり、ランダムに変化するため、read.table コマンドで「スキップ」パラメータをハードコーディングしても機能しません。各 CSV の列名と列数は同じです。
これが私が反対しているものの例です:
QUICK STATISTICS:
Directory: Data,,,,
File: Final_Comp_Zn_1
Selection: SEL{Ox*1000+Doma=1201}
Weight: None,,,
,,Variable: AG,,,
Total Number of Samples: 450212 Number of Selected Samples: 277
Statistics
VARIABLE,Min slice Y(m),Max slice Y(m),Count,Minimum,Maximum,Mean,Std.Dev.,Variance,Total Samples in Domain,Active Samples in Domain AG,
6780.00, 6840.00, 7, 3.0000, 52.5000, 23.4143, 16.8507, 283.9469, 10, 10 AG,
6840.00, 6900.00, 4, 4.0000, 5.5000, 4.9500, 0.5766, 0.3325, 13, 13 AG,
6900.00, 6960.00, 16, 1.0000, 37.0000, 8.7625, 9.0047, 81.0848, 29, 29 AG,
6960.00, 7020.00, 58, 3.0000, 73.5000, 10.6931, 11.9087, 141.8172, 132, 132 AG,
7020.00, 7080.00, 23, 3.0000, 104.5000, 15.3435, 23.2233, 539.3207, 23, 23 AG,
7080.00, 7140.00, 33, 1.0000, 15.4000, 3.8152, 2.8441, 8.0892, 35, 35 AG,
基本的には行から読みたいVARIABLE,Min slice Y(m),Max slice Y(m),...
。いくつかの解決策を考えることができますが、どのようにプログラミングするかわかりません。とにかく私ができることはありますか:
- 最初に CSV を読み取り、何行のゴミがあるかをどうにかして調べてから、再度読み取り、スキップする正しい行数を指定しますか? または
- 列名が見つかったら読み取り
read.table
を開始し (これらは各 CSV で同じであるため)、それより前のすべてを無視するように指示しますか?
解決策 (2) が最も適切だと思いますが、どんな提案もお待ちしております。