統計ソフト,STATAについての質問です.読み込んだデータのうち,一つの値を参照することは可能でしょうか.具体的には,ある一つの値,例えば,list x if x==1 などで表示される結果を変数に読み込むことは可能でしょうか(出てきた値を直に入力することなく).データ数が8000ぐらいありmatrix化して指定するという方法は,読み込む限界を超えています.(STATA ICのため).どんなにマニュアルを探しても見つかりません.

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2010/02/01 16:16:55
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:nobnob3 No.1

回答回数326ベストアンサー獲得回数29

ポイント70pt

いちおう初心者STAT&R使いです。

質問の意味を完全に把握していませんが、例えば次のように新しい変数を定義してしまうのはどうでしょうか?

gen newvar=x if x==1

id:teamj

早速ありがとうございます.ただ,それだと不要なデータ8000個をつくってしまうことになります.例えば,scalar newvar= として定義できるように,その値だけを参照したいと考えています.

2010/02/01 03:39:24
  • id:nobnob3
    コメント欄オープンありがとうございます。
    STATA ICでは、扱えるデータ量が限られているために、新しく変数を増やすと、一つの変数につきデータ数分だけ(今回の場合8000件)増えるため、matrixで、出来るだけ情報量を増やさずに扱う方法を探していると、質問を理解しました。
    いちおう、色々調べて、下記の方法を見つけました。
    mkmat x if x==1, matrix(newmatrixname)
    これでnewmatrixnameという変数名に必要な情報がmatrixとして格納されます。
    取り出すときには、例えば
    matrix list newmatrixname
    で取り出すことが出来ます。

    ところで、調べると
    STATA IC
    STATA/ICは最大2,047変数まで、データセットを扱うことができます。観測の数
    はコンピューターのRAMに拠ります。STATA/ICは最大で 798の右辺値をモデル内
    に持つことができます。
    とあります。
    つまり、STATA ICのデータ制限は、データ総量というよりは、データ変数量だと思います。
    実際、どちらで扱う方が良いのかと私自身も興味があります。

    また、私は、STATAでmatrixを使ったことが無かったので今回とても勉強になりました。
    後学のために教えて頂きたいのですが、matrixでデータを扱うメリットはどのようなことがあるのでしょうか?

    matrixを簡単に扱える統計ソフトとしては、やはりRをすぐに思い出してしまいます。
  • id:teamj
    ありがとうございます.

    すごいです.感動です.まさにやりたかったことです.
    listの全部をコピーしてmatrixを作るという単純な発想を超えられませんでした..

    >後学のために・・・
    他の計算にその値を使う時に参照する必要があったのですが,別にmatrixでなければならない理由はありません.
    scalarでもよかったのですが,matrixの方が後々使い安いかと思い,matrixを思いついただけです.

    統計ソフトとしてRではなくstataを使っているのは,授業でstataを指定されているためであり,それ以上の理由はありません.Rもぜひとも使ってみたいです.

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません