【欠損値】の人気Q&Aランキング

1~20件(全544件)

  • 1位

    CSVファイルの欠損値を全てピリオドに置き換えたい

    カンマ区切りのファイルの欠損値をピリオドに一括変換したいのですが、awkのgsubがうまくいきません。 {gsub(/"" /,".",$0);print}でエラーになります。 欠損値の正規表現はどうすればよいのでしょう。 もし、UNIXのコマンドで一括変換できるものがあればそちらも教えて下さい。 お願いします。

    A
    ベストアンサー
    CSVにはいくつかのフォーマットがあるので,「欠損値」やそれを「ピリオドに変換したもの」がどういうものなのか正確にわからないのですが,

    ,"",



    ,".",

    に変換したいのであれば,たとえばPerlだと,

    perl -e 's/\,\"\"\,/,".",/g'

    みたいにすれば出来るのではないかと思います。
  • 2位

    欠損値を分析ごとに排除することについて。

    時々、これまでの論文を見ていますと、 ほとんどのものは、無回答などを全て除いた質問紙のみを扱っていますが、 たまに、欠損値を分析ごとに排除した論文を見ます。 この方法どう思いますか。 やはり、質問ごとに欠損値の扱い方が違うということは、それだけ精密な結果は出にくくなると思いますか? キーワード 心理学 統計学 数学

    A
    ベストアンサー
    精密な結果は出にくくなると思います。

    受検者内の検定で欠損値のあるデータを排除することは当然です。
    受検者間の検定の場合、排除しなくとも良いようにも思えますが、恣意的なデータになってしまいます。

    また、その欠損値の意味が不明である以上、全てのデータへの信憑性も下がります。
    もしかしたら、気付かずに1問飛ばしてしまったのかもしれません。
    すると、全てのデータがずれてしまいます。

    倫理的観点からして、答えたくない項目があったのであれば、そのデータを扱うことはできません。

    いずれにせよ、不完全なデータを扱えば、不完全な結果しか導かれないことになります。

    分析ごとに排除するデータを変えるということは、受検者に異なった構成の質問紙を渡したことと同義です。
    そうすると、もはや研究ではなくなってしまいます。
    精密な結果は出にくくなると思います。

    受検者内の検定で欠損値のあるデータを排除することは当然です。
    受検者間の検定の場合、排除しなくとも良いようにも思えますが、恣意的なデータになってしまいます。

    また、その欠損値の意味が不明である以上、全てのデータへの信憑性も下がります。
    もしかしたら、気付かずに1問飛ばしてしまったのかもしれません。
    すると、全てのデータがずれてしまいます。

    倫理的観点からして、... 続きを読む
  • 3位

    エクセルでデータを扱っているのですが、空欄(欠損値)が多くて困ってい...

    エクセルでデータを扱っているのですが、空欄(欠損値)が多くて困っています。 空欄(欠損値)はすべて『.』(半角のドット)にしたいのですが、いちいち手作業するのは大変過ぎます。 そこで、関数(if文?)を使って一度に処理したいのですが、パソコン音痴でやり方が分かりません。 【以下のようにするための関数を教えて頂けませんでしょうか?】 ・空欄→『.』(半角のドット) ...

    A
    ベストアンサー
    当方2003を使用しているので
    あてはまるか分かりませんが
    範囲指定して編集→ジャンプ→セル選択
    空白セルにチェック
    空白が選択されたら半角をそのまま入力して
    Alt+Enterで出来ると思います。
  • 4位

    EXCEL複数グループ内で欠損値を除いて順位を振る

    EXCELで複数のグループ内で順位を表示させるようにしたいのですが、 間に欠損値「-」があります。 SUMPRODUCT関数を用いて、グループ内順位を振る方法はわかったのですが 欠損値を除く方法が分かりません。 欠損値の場合は順位ではなく「-」を入力したいです。 A列 B列 C列 D列 E列 グループ1 グループ2 スコア グループ1での順位 グループ2での順位 関東 東京 40 1 1 関東 ...

    A
    ベストアンサー
    【作成例】
    D2:
    =IF(C2="","",IF(C2="-","-",SUMPRODUCT(($A$2:$A$20=A2)*($C$2:$C$20<>"-")*($C$2:$C$20>C2))+1))

    E2:バリエーション
    =IF(C2="","",IF(C2="-","-",SUMPRODUCT(($B$2:$B$20=B2)*ISNUMBER($C$2:$C$20)*($C$2:$C$20>C2))+1))


    あなたのSUMPRODUCTの式の,単なるバリエーションじゃないかな?と思いますが。
    ご自分では一体どんな式を書いたのか,ご相談で最初から情報提供してみるともっと話が早かったようには思います。
    【作成例】
    D2:
    =IF(C2="","",IF(C2="-","-",SUMPRODUCT(($A$2:$A$20=A2)*($C$2:$C$20<>"-")*($C$2:$C$20>C2))+1))

    E2:バリエーション
    =IF(C2="","",IF(C2="-","-",SUMPRODUCT(($B$2:$B$20=B2)*ISNUMBER($C$2:$C$20)*($C$2:$C$20>C2))+1))


    あなたのSUMPRODUCTの式の,単なるバリエーションじゃないかな?と思いますが。
    ご自分では一体どんな式を書いたのか,ご相談で最初から情報提供してみるともっと話が早かったよ... 続きを読む
  • 5位

    統計の欠損値の設定

    統計のデータを表にまとめているのですが、欠損値は「999」でも構わないでしょうか。 年齢を入れる欄がありますので、「99」ではそれと重複してしまいます。 「999」では3ケタになりますが、支障ありませんでしょうか。 ご助言いただけましたら幸いです。 よろしくお願いいたします。

    A
    ベストアンサー
    #1です。コメント有難うございます。

    恐れ入りますが、SPSSについてはわたしは知識がありません。
    このような手法を用いることを前提の質問ならば質問文に書いたほうが良い回答が
    付くでしょう。

    わたしは一般的なエクセルにおける想定対応をお示ししたつもりです。
    つまり、999と入力しておき、あとあとの分析時にはこのレコードを除外して処理する
    ということです。
    空欄にしておくのはあまり良くないと思います。
  • 6位

    Excel折れ線グラフ 欠損値を飛ばして線をつなげたい

    Excel折れ線グラフで、ある測定値を 横軸:日付 縦軸:値 で作っています。 ある日付で、値がとれず欠損となりますが、その場合は折れ線グラフで作ると、線が繋がってくれません(日付が繋がっているところでないと、繋いでくれない?)。 そこを飛ばして繋ぐ方法はありますか? 何人かを同じフォーマットで作っているので、その日付を削除することはできません。

    A
    ベストアンサー
    >「補間してプロットする」「ウィンドウの大きさに合わせてサイズを変更する」 は、グレーになっていて、チェックできません。
    遅れましたが、やっと再現できたので。
    グラフが複合グラフになっていませんか?折れ線グラフだけなら大丈夫なのですが、これが複合グラフになっている場合(折れ線と棒グラフなどの組み合わせ)には補足の中にあるような状態になり、補間が出来なくなります。これは、棒グラフなどの補間不可能なグラフがグラフエリアにあるためだと思われます。
    是非一度確認してみてください。
    >「補間してプロットする」「ウィンドウの大きさに合わせてサイズを変更する」 は、グレーになっていて、チェックできません。
    遅れましたが、やっと再現できたので。
    グラフが複合グラフになっていませんか?折れ線グラフだけなら大丈夫なのですが、これが複合グラフになっている場合(折れ線と棒グラフなどの組み合わせ)には補足の中にあるような状態になり、補間が出来なくなります。これは、棒グラフなどの補間不可能な... 続きを読む
  • 7位

    アンケート調査の記入漏れの扱いについて

    研究のためにアンケートを実施しました。 多少の記入漏れがあるのは覚悟しています。 そして、統計処理を行うとき記入漏れは「欠損値」として扱うみたいですが、欠損値には平均値を入れたいと思っています。 統計処理ソフトにはSPSSを使用する予定です。 しかし、もしかしたら記入漏れではなく無回答(あえて自分の意思で回答していない) 場合も絶対ないとはいえません。...

    A
    ベストアンサー
    欠損値(無回答)があった場合はそれを除外して分析を行うのが一般的ではないでしょうか。あなたが指摘したような平均値を入れるというのは

    [変数A:1,2,2,3,1,無回答,4,5とあった場合に(1+2+3+3+1+4+5)/7=2.71という値を代入]

    ということですね?

    確かにこういう処理を行うこともあるようですが,このような方法に論理的な根拠がないため,扱うのは避けるべきだと考えています。恐らく多くの人もそう考えるでしょうから,後でクレームをかけられることもあり得るでしょう。
    欠損値(無回答)があった場合はそれを除外して分析を行うのが一般的ではないでしょうか。あなたが指摘したような平均値を入れるというのは

    [変数A:1,2,2,3,1,無回答,4,5とあった場合に(1+2+3+3+1+4+5)/7=2.71という値を代入]

    ということですね?

    確かにこういう処理を行うこともあるようですが,このような方法に論理的な根拠がないため,扱うのは避けるべきだと考えています。恐らく多くの人もそう考えるでしょうから,後... 続きを読む
  • 8位

    エクセルでのグラフ表示

    エクセルで折れ線グラフを作成しますが、縦軸がデータの数値に対して、横軸が測定条件の変化をサンプル別に複数の折れ線グラフを描きますが、サンプルにより測定条件に欠損値がある場合、そのサンプルの折れ線グラフがその部分の測定条件(横軸)で縦軸が0のデータで折れ線を引きます。 これでは見難いので、欠損値を無視して折れ線を引く方法は無いでしょうか? 宜しくお...

    A
    ベストアンサー
    "0"の代わりに"#N/A"とあれば、その項目を読み飛ばしてくれます。

    #N/Aは「未定」という意味のエラー値なので、例えば、

    =IF(A1=0,#N/A,A1)

    という感じで数値としても使えます。
  • 9位

    統計ソフトJMPでpaired検定をする時に

    ごく基本的なことですみません。 JMP5を使用しています。 paired検定をするデータに欠損値があるのですが、このまま検定をかけても構いませんか? つまり、データの中に、投与前のデータはあるが投与後のデータがない(あるいはその逆)の症例のデータが混じっている場合、JMPでそのデータをはじいた上で検定をかけてくれるんでしょうか? 欠損値のある症例が多く、これらを削...

    A
    ベストアンサー
    そのままで大丈夫です.
    欠測していない症例のみで解析されます.

    なお,小さなデータセットを作って試してみれば,
    上記のことはすぐにわかりますよね.
  • 10位

    fortranについて

    Fortranをはじめたばかりの初心者です。 ------------------前略--------------------------------------- read(10, "(I2,1x,3(6I3,1x) ,6I3)") day, hour(1:24) write(6,*) day,sum(hour) ------------------後略----------------------------------------- と書いています。hourの1時から24時までの中に、欠損値があるのですが、その際は 0 もしくは読まないと、させたいのです。 欠損値は データのなかでは 999 となっています。 ...

    A
    ベストアンサー
    「読まない」とするよりも「読んでから補正する」方が簡単ですね.
    where (hour == 999) hour = 0
    とか?
  • 11位

    因子分析を行おうとしています。

    因子分析を行おうとしています。 バリマックス回転(こちらは、SPSSで因子分析を行った経験有り)とプロマックス回転の使い分けについてご教授いただきたいのです。 直行回転と斜交回転であるといった説明は、ネットや書籍を見る限り分かります。 しかし、どのような時にバリマックス回転を使い、どのような時いプロマックス回転を使うのかが分かりません。 是非、ご教授を...

    A
    ベストアンサー
    No.1です。

    補足でご質問の件です。

    小生が現在手元で使用していますのは、Ver.16ですので、バージョンが異なると、多少違いがあるかも知れません。

    型……変数が、数値か文字かなどを区別するものです。マウスでクリックすると、欄の右側に「...」のマークがでます。そこをさらにクリックしていただくと、選択肢が表示されますので、そこから選べます。ただ、今回のデータは、すべて6件法ということですから、とくに変更の必要はないと思います。
    ここにある「幅」は8、「小数桁数」は2がデフォルトになっています。幅の数値は、半角サイズで何文字(何桁)入力できるかを示しています。したがって、変数の方で「文字」を選び、日本語で入力しますと、全角サイズになりますので、この場合は、4文字までとなります。
    幅……データビューの変数欄の幅のサイズを指定します。本質には影響しませんので、とくに変更する必要はありません。

    小数桁数……データビューの変数欄の数値について、小数点以下何桁まで表示するかを指定します。評定尺度法をお使いのようですし、計算を行う上で、とくに本質的な影響はありませんから、ここも変更の必要はありません。

    値……例えば、性別について、男性=1、女性=2というように数値化しているときに、値の欄に「1」と、それに対する「ラベル」の欄に、「男性」と入力し、さらに、「追加」をクリックしますと、変数の各値に文字をラベルとして割り当てることができる、というものです。ここでラベルを追加しておけば、計算結果を表示するとき、性別の例で言えば、「1」とか、「2」だけでなく、「1 男性」「2 女性」と表示され、便利です。6段階の評定尺度についても、同様です。

    欠損値……「欠損値」そのものは、お分かりかとは思いますが、調査対象者がある項目について、回答し忘れてしまったり、2重に回答したりして、データが得られない場合を言います。データエディタで、それを空欄にしてあれば、ここはとくに変更する必要はありません(デフォルトでは、「欠損値なし」になっていると思います)。個別に欠損値を指定したい場合(例えば、「-99」など)には、それを「個別の欠損値」を選択して、該当する数値を入力しておきます。欠損値を、範囲で指定することも可能で、それが「範囲に個別の値をプラス」で指定します。

    列……列の幅を文字数として指定するときに使います。「幅」と同じです。

    配置……データビューの各セルで、右寄せ表示をするか、センタリングか、左寄せかを選ぶのみで、本質には影響しません。

    尺度……入力した数値が、「名義尺度」、「順序尺度」、「間隔尺度」、「比例(比率)尺度」のいずれかを指定します。これらの4種類の尺度の区別は、どの統計の本にも載っていますので、まずはそれらをご確認ください。SPSSでの「スケール」は、間隔尺度と比例尺度とを合わせて、この名前で呼んでいます。性別や、所属、学年などでは、「名義」を選びます。6件法で得た回答は、因子分析を行う場合には、「スケール」を選んでおいてください。

    役割……申し訳ありませんが、SPSS Ver.16では、見当たりません。

    以上、補足させてもらいます。
    No.1です。

    補足でご質問の件です。

    小生が現在手元で使用していますのは、Ver.16ですので、バージョンが異なると、多少違いがあるかも知れません。

    型……変数が、数値か文字かなどを区別するものです。マウスでクリックすると、欄の右側に「...」のマークがでます。そこをさらにクリックしていただくと、選択肢が表示されますので、そこから選べます。ただ、今回のデータは、すべて6件法ということですから、とくに変更の必... 続きを読む
  • 12位

    質問紙 回収後のチェック

    質問紙で回収したデータをパソコンに打ち込んだ後、何回ぐらい見直しましたか? 私は二回見なおしたのですが、どれぐらい見直したらよいのか分かりません。 エクセルやSPSSに打ち込んで、分析をしたときに 欠損値が出なければ間違いなくデータ入力できていたと判断してよろしいでしょうか? キーワード 心理学 統計学 数学 アンケート

    A
    ベストアンサー
    はじめまして。

    私も質問紙でデータを集め、相関関係などで卒業論文を書きました。適当な大学なので、適当に書いて一応心理学部トップで卒業しています。

    その経験から記述させていただきます。


    まず、データ量によって負担が全く違うでしょう。解析方法でも変わります。
    私はデータ量が多かったために、1度のチェックで終わらせました。(一応慎重に)
    私個人としては2回も見直せば十分かと思います。


    なにより心理学というのは『学問』というカテゴリに属するべきか議論の余地のある存在です。それは論理的に完全な方法で完全な結果を得れないものだからです。
    あなたの調査でも具体的にいえばいくつか結果がぐらつく可能性があります
    (1)充分なデータ量があるか
    (2)実験協力者は誠実に答えているか
    (3)得た情報を正確にデータにできるか  ←今の貴方の位置です
    (4)統計方法、ツールに問題はないか。
    (5)その他偶然によるブレがないか

    挙げるとキリがありません。それほど心理学とは不安定な学問なのです。



    ただ私の「適当に書く」コツをお教えしますと、どんなに期待に逸れた結果でも無理矢理に理屈付けることです。不安定な学問なだけにAの論理が確立し、また正反対のBの論理も確立することのある学問です。


    なのであまり神経質にならないほうがいいかと
    大切なのはどのような仮説が立てられるかです。
    はじめまして。

    私も質問紙でデータを集め、相関関係などで卒業論文を書きました。適当な大学なので、適当に書いて一応心理学部トップで卒業しています。

    その経験から記述させていただきます。


    まず、データ量によって負担が全く違うでしょう。解析方法でも変わります。
    私はデータ量が多かったために、1度のチェックで終わらせました。(一応慎重に)
    私個人としては2回も見直せば十分かと思います。


    なにより心理学とい... 続きを読む
  • 13位

    Excelの折れ線グラフについて

    Excelの折れ線グラフで、ある測定値を 横軸:日付 縦軸:値 で作ったのですが、途中欠損値がないにもかかわらず、途中の一区間だけ線が繋がってくれません。 過去の質問を検索して、 ツール ↓ オプション ↓ グラフ ↓ 補間してプロットする で一応線は繋がったのですが、空白セルがないのにどうして線が繋がらなかったのかが分かりません。 そこで、この原因が分かる...

    A
    ベストアンサー
    欠損データがないのに、繋がらない。通常このようなことは考えられないのですが、確認を一つ。
    グラフを選択して、右クリックから「グラフオプション」で主軸のところがどうなっているでしょうか。「時系列」という項目があるでしょうか。もしなければ、日付の部分が、日付として認識されていない状態ですので、場合によってはこのような現象が出る事も。(時系列の場合、日付が飛んでも自動的に日付が設定され、線は繋がるのですが。)日付のような状態でも日付ではない場合もありますし。これは、セル書式で日付になっているか、書式が標準にしたときに、シリアル値に変わるかどうかで確認できます。
    欠損データがないのに、繋がらない。通常このようなことは考えられないのですが、確認を一つ。
    グラフを選択して、右クリックから「グラフオプション」で主軸のところがどうなっているでしょうか。「時系列」という項目があるでしょうか。もしなければ、日付の部分が、日付として認識されていない状態ですので、場合によってはこのような現象が出る事も。(時系列の場合、日付が飛んでも自動的に日付が設定され、線は繋がるの... 続きを読む
  • 14位

    FORTRANについて質問です。

    FORTRANについて質問です。 年 月 日 降水量 1976 1 1 0 1976 1 2 2.1 1976 1 3 0.2 1976 1 4 0 1976 1 5 0 1976 1 7 1.3 1976 1 8 5.1 1976 1 10 0 1976 3 1 2.3 1976 3 2 0 1976 3 3 0 1976 3 4 1.3 1976 3 6 0 : というデータが2008年12月31日まであります。 FORTRANでこのデータを、1日〜5日を1旬、6日〜10日を2旬、…としていきたんですが、26日以降は、28日でも29日でも、30日でも、31日でも6旬と定義します。 降水量は...

  • 15位

    【統計処理】2群間の差の有無を調べるには?

    あるデータを収集し、その分析をしなくてはいけません。 SPSSを使用する予定ですが、どの分析方法がいいのかがわからないので教えてください。 ランダムにN=30のサンプルを2群に分けました。 属性が等質であることは確認しました。 介入群と対照群の2群に対して、 介入直前・直後・10分後・15分後・・・・ 30分後までリッカート尺度を測定しました。 欠損値はありません。 ...

  • 16位

    Excelデータ配列の微妙な縦横変換

    頻出質問だったらごめんなさい。 一応検索したのですが、見つけれませんでした。 もともと住所録ソフトのデータをタブ区切りで吐き出してそれをExcelで読み込んでいます。 データは↓こんな感じに並んでいます。 名前 部署 内線 メール 佐藤 人事 1111 aaa@x.jp 加藤 庶務 2222 bbb@x.jp 武藤 営業 3333 ccc@x.jp (もちろんデータ項目はもっと多いですが、欠損値はありません) ...

    A
    ベストアンサー
    A2セルからデータが入っているなら、以下の式を入力して下方向にオートフィル(コピー)して下さい。

    =OFFSET($A$2,INT((ROW(A1)-1)/4),MOD(ROW(A1)-1,4),1,1)
  • 17位

    統計学:一般化推定方程式について

    突然の質問で申し訳ありません。 統計の質問なんですが、 同じ母集団の100人以上を対象として、1日目から6日目の連日、ある検査値を測定し、 研究期間中には変化が見られないことを示したいと思っています。 ただ、欠損値が多くなっています(患者1;1・2・5日目、患者2;1・3・4・6日目といった感じ)。 こういった多数患者の時系列データの解析につき、 全体の傾向として変...

  • 18位

    SPSSを使用して、因子分析を行おうとしています。

    SPSSを使用して、、因子分析を行おうとしています。 内容は、以下の通りです。 就職に関する質問紙を行いました。 質問紙に項目を記入 (例 ・・・ 給与面や通勤時間が短い 等の項目を設定 )。 それぞれの項目ごとに、1 〜 6 までの数字を付け、気持ちが強ければ、数字が大きい方へ丸印を記入するというものです。 ちなみに、項目 (変数) は、20あります。 つまりは、6件法に...

    A
    ベストアンサー
    vzb04330です。

    ご丁寧に恐縮です。

    >回転後の負荷量平方和に示された 合計=固有値 で良いと解釈しました。

    このご理解の通りです。

    統計学は一般の方や、心理学の学生でもなかなかなじめない部分があり、学習にはお困りになるでしょうね。
    ご自分のデータで、入門書を参照しながら、そこに記載された内容と同じ分析、計算を行って、まさに体得して行かれることが、回り道ではありますが、よく理解できる学習法だと思います。
    小生もかつては大学の教員でしたが、結局は、ここに書いたようなやり方で、必要に応じて各種の統計技法を理解し、身につけてきました。
    vzb04330です。

    ご丁寧に恐縮です。

    >回転後の負荷量平方和に示された 合計=固有値 で良いと解釈しました。

    このご理解の通りです。

    統計学は一般の方や、心理学の学生でもなかなかなじめない部分があり、学習にはお困りになるでしょうね。
    ご自分のデータで、入門書を参照しながら、そこに記載された内容と同じ分析、計算を行って、まさに体得して行かれることが、回り道ではありますが、よく理解できる学習法だと思いま... 続きを読む
  • 19位

    計量経済分析の質問(説明変数の欠損によるサンプル数

    Stataを使った計量分析をしています。 ある基本となるデータシートAに、追加的に別のシート(B, C, D, ...)をjoinbyコードを使って接合しながら分析をしています。 サンプル数を仮に1,000とします。 基本となるデータシートAには、世帯ID、個人ID、性別の3種類の情報が入っているとします。 世帯ID 個人ID 性別 1 1 1 (1人目) 1 2 2 (2人目) 1 3 1 (3人目) 2 1 1 (4人目) ・ ・ 250 4 1 (1,000...

    A
    ベストアンサー
    欠測値に適当な値を代入して完全データにする、という手法があることはありますが、あまりにmissingが多すぎるので個人的には勧めたくはないですね。
    missing data regressionなどというキーワードを使うといろいろ出てきます。

    参考URLも見てください。Multiple Imputationは最近はSASのような統計ソフトでも実装されている手法で、その意味では多重代入法は実用化されていると考えても良いとは思いますが、欠測がランダムであるか、など事前の検討は欠かせません。

    MCAR (Missing Completely At Random), MAR (Missing At Random) などの言葉もキーにして調べると良いと思います。

    参考URL:http://en.wikipedia.org/wiki/Imputation_(statistics)
    欠測値に適当な値を代入して完全データにする、という手法があることはありますが、あまりにmissingが多すぎるので個人的には勧めたくはないですね。
    missing data regressionなどというキーワードを使うといろいろ出てきます。

    参考URLも見てください。Multiple Imputationは最近はSASのような統計ソフトでも実装されている手法で、その意味では多重代入法は実用化されていると考えても良いとは思いますが、欠測がランダムで... 続きを読む
  • 20位

    Fortranについての質問です。下のプログラムは、ある地点(今回は1

    Fortranについての質問です。 下のプログラムは、ある地点(今回は14161~14163)の33年間(1976~2008)の気温の平均を欠損値を考慮してだしているはずです。 うるう年の判定はおまけで書いています。 この平均値に標準偏差もつけるプログラムにしたいのですが、どう書いていいのか手詰まり中です。 どうかアドバイスください。 ---------データの一部(14162_temp1997.csv)--------------------------------...

    A
    ベストアンサー
    1: do doy = 1,365
    2: ave = 0.0
    3: var = 0.0
    4: do i=1,ndata(doy)
    5: ave = ave + ndatax(doy,i)
    6: temp(doy) = ave/ndata(doy)
    7: var = var + ( ndatax(doy,i) - temp(doy))**2
    8: stdev(doy) = sqrt(var/(ndata(doy)-1))
    9: end do
    10: write(6,*) doy, temp(doy), ndata(doy),stdevplus(doy),stdevminus(doy)
    11: end do
    これはあなたのプログラムを抜き出したものですが,平均値に関係しているのは
    2で初期化して,4から9のループの中で5で加算し,6で割り算をしています。
    まあ,これでも計算はうまくいきますが,6で割り算はループのの外でやる方が効率的でしょう。
    しかし標準偏差の計算はひどいことになっています。
    3で初期化して,4から9のループの中で7で加算し,8で割り算をしています。
    ところがループの中で加算すべき物はデータ引く平均値の2乗であるのに,7はループの中ですから加算する時点では平均値の計算途中であって,まだ平均値になっていません。それを加算したところで計算がうまくいくはずがないのです。それで前回
    > 標準偏差を計算するときには,すでに平均値が分かっていなければなりません。
    > ところが,あなたのプログラムでは
    > temp(doy) = ave/ndata(doy)
    > で平均値を求めるところよりも前で,標準偏差の計算らしき部分に入っています。これでは計算がおかしく> なって当然でしょう。
    と言ったのに理解されなかったようです。それではどうするかと言えば,平均値を計算するためのループが終わってから,あらためて標準偏差を計算するためのループをまわしてください。
    ! ave = 0.0
    ! var = 0.0
    ! do i = 1,ndata(doy)
    ! ave = ave + ndatax(doy,i)
    ! end do
    ! temp(doy) = ave/ndata(doy)
    ! do i = 1,ndata(doy)
    ! var = var + (ndatax(doy,i)-temp(doy))**2
    ! end do
    ! stdev(doy) = sqrt(var/(ndata(doy)-1))
    こんな感じですね。明示的にループをまわさずにsum関数を使って
    ! temp(doy) = sum(ndatax(doy,:ndata(doy)))/ndata(doy)
    ! stdev(doy) = sqrt(sum((ndatax(doy,:ndata(doy))-temp(doy))**2)/(ndata(doy)-1))
    とすることもできます。
    1: do doy = 1,365
    2: ave = 0.0
    3: var = 0.0
    4: do i=1,ndata(doy)
    5: ave = ave + ndatax(doy,i)
    6: temp(doy) = ave/ndata(doy)
    7: var = var + ( ndatax(doy,i) - temp(doy))**2
    8: stdev(doy) = sqrt(var/(ndata(doy)-1))
    9: end do
    10: write(6,*) doy, temp(doy), ndata(doy),stdevplus(doy),stdevminus(doy)
    11: end do
    これはあなたのプログラムを抜き出したものですが,平均値に関係しているのは
    2で初期化して,4か... 続きを読む
←前の結果 1 2 3 4 5 6 7 8 9 10 11 ... 28 次の結果→