2016-05-19 12 views
0

私が持っている変数は:エキス値

私は新しい変数を生成する必要が
set obs 1000 
g X= rnormal(0,1) 
egen t=fill(1 2) 

、それは一つの値で構成されます:Xの最初の値が、私が試した:

separate X, by(_n <= 1) 

そして

gen X1 = X if t<=1 

しかし、これらのオプションは私を与えるベクトルは、最初の値と100x1 - 値は私が必要と、空のセルの99。単純に1つの値変数、1x1を生成するにはどうすればよいですか?

答えて

1

あなたは私の友人

gen X1 = X if t<=1 
replace X1=X1[_n-1] if missing(X1[_n]) 

local my_parameter=X1[1] 

のコードの2行を記述する必要があり、その後、あなたが喜んであなたのARMA回帰

. di `my_parameter' 
-.44087866 
であなたの `my_parameter」マクロを使用します

覚えているように、マクロ(もっとusuall他の言語ではパラメータと呼ばれる)を使用して名前を埋め込む必要があります。

+0

しかし、これは最初の値が繰り返された100x1ベクトルを作成します。私はただ一つの値が必要です – glarys

+0

あなたはその変数で何をしたいのかを指定する必要があります。あなたが必要な場合、またはおそらくマクロ内で、マタを使用してベクトルに格納することができます –

+0

私の変更されたコードを参照 –

0

おそらくこれは点はX [1]最初の観察においてXの値であるということである人方向

generate X1 = X[1] 

であなたを指します。今言ったことは、あなたはその価値観で何をしたいのですか?あなたのデータセットには10​​00の観測値があります。ローカルまたはグローバルマクロが必要ですか?スカラー?すべての1000の観測値に適用された式でそれを使用する場合は、おそらくすべての観測値に対して同じ値を持つ変数で十分です。

1

すでに投稿されている他の2つの回答には同意しませんが、「」単純に1つの値変数:1x1?、私は助けることはできませんが、スカラーやマクロを探していると思います。

はそれが本当であるならば、彼らはあなたが後で使用するには、この値を格納し、ここから

sum X in 1 
di r(mean) 

としたほうが良いかもしれません簡単です:

sca MyVar = r(mean) 

help summarizeから、あなたが表示されますことsum店他の多くの有用な手段の中で、平均、最小および最大。

あなた自身を見るには、sumへの呼び出し後にreturn listを呼び出して返される内容を確認してください。

in 1を使用すると、summarizeコマンドは最初の観測に対してのみ実行するように制限されます。当然、summarizeによって返されたスカラの多くは、あなたが望む値に等しくなります。

sumの前には、出力を抑制するためにquietlyを入力するか、meanonlyオプションを追加して、表示を抑制しながら平均値のみを計算することもできます。