2

外部テキスト ファイル (30 行、7 列) からデータを読み取っています。各行は「,」で区切られています。「、、」で表される欠損値があります。データを 2 次元配列に読み込むと、欠損値は 0.00 に置き換えられますが、データにも 0.00 の値があります。私が平均を計算しているとき、カウント(アイテムの数(n))はカウント-(欠損値の数)であることが示されました。欠落している値を動的に選択するにはどうすればよいですか。

ありがとうスリ

データ

337.60,220.40,0.00,0.00,200.42,216.61,261.04
323.00,249.20,65.30,0.00,201.93,210.91,309.98
116.80,474.80,0.00,0.00,203.43,215.76,234.93
72.10,505.90,0.00,0.00,204.93,215.72,233.47
148.30,771.70,0.00,0.00,206.44,217.00,239.05
90.70,287.20,0.00,0.00,207.94,215.43,216.85
337.20,334.50,10.20,0.00,209.45,226.85,306.57
142.50,142.80,0.00,0.00,210.95,240.09,240.31
279.10,289.60,51.80,0.00,212.45,227.75,262.30
273.60,337.70,0.00,0.00,213.96,256.86,223.66
332.40,425.60,0.00,0.00,215.46,238.36,237.63
45.70,299.30,0.00,0.00,216.96,223.92,241.41
49.10,529.40,0.00,0.00,218.47,235.81,282.17
185.30,331.80,38.00,0.00,219.97,235.81,309.29
552.90,454.80,0.00,0.00,221.47,224.60,269.09
176.20,441.60,0.00,0.00,222.98,232.44,293.95
170.00,,0.00,,,,327.96
200.00,,0.00,,,,291.69
241.20,156.00,0.00,0.00,227.49,235.55,278.66
118.00,383.20,3.20,0.00,228.99,269.28,325.31
62.00,189.70,0.00,0.00,230.50,248.73,266.95
400.20,244.20,0.00,0.00,232.00,239.70,271.27
163.70,826.60,0.00,500.00,233.50,245.06,294.98
250.40,236.60,0.00,0.00,235.01,261.72,288.24
51.30,684.20,0.00,0.00,236.51,245.06,237.37
412.50,128.90,0.00,500.00,238.01,245.16,268.66
452.00,,,,,,314.68
481.00,155.50,0.00,0.00,241.02,278.72,348.44
162.20,201.90,0.00,500.00,242.52,250.36,255.58
171.80,152.00,0.00,500.00,244.03,246.85,339.06
4

1 に答える 1

2

データに負の値が含まれていないようです。データを fortran に渡す前に前処理を行ってください。たとえば、「,,」を負の値に置き換えます。

sed 's/,,/,-1,/g'

次に、Fortran プログラムでこれらの無効なデータを簡単に識別し、それに応じて処理することができます。

于 2011-09-08T21:35:32.357 に答える