0

カスタマイズされたデータセットにイデオロギー スコアを含む次のデータ マトリックスがあります。

year    state   cdnum   party   name        dwnom1
1946     23       10    200    WOODRUFF       0.43
1946     23       11    200   BRADLEY  F.    0.534
1946     23       11    200    POTTER  C.    0.278
1946     23       12    200   BENNETT  J.    0.189

私の分析単位は、特定の年の特定の下院選挙区です。州番号 23、cdnum 番号 11 を見ることができるように、1946 年に 2 つの観測結果があります。

私がやりたいことは、以前の観察を削除することです。この場合、名前に対応する観察: BRADLEY.F. これは、下院選挙区に特定の議会に 2 人の議員がいる場合に発生します。私が試したコードの試みは次のとおりです。

 drop if year==[_n+1] & statenum==[_n+1] & cdnum==[_n+1] 

私の試みは条件付きの引数です。年が次の観測と同じである、statenum が次の観測と同じである、および cdnum が次の観測と同じである場合、観測をドロップします。このようにして、各地区が特定の年に対応する地区を 1 つだけ持つようにすることができます。コードを実行しようとすると、次のようになります。

drop if year==[_n-1] & statenum==[_n-1] & cdnum==[_n-1] 
(0 observations deleted)
4

1 に答える 1

0

簡単な代替案: コマンドをチェックアウトする必要がありduplicatesます。

エラーの詳細な説明:

あなたはStataに言っていることを意味していません.

あなたの条件など

if year == [_n-1] 

する必要があります

if year == year[_n-1]

など。

[_n-1] 

それ自体は、入力したかのように扱われます

_n-1 

これは観測数から 1 を引いたものです。

これはばかげた例です。自動データを読み込みます。

. sysuse auto
(1978 Automobile Data)

. list foreign if foreign == [_n-1], nola

     +---------+
    | foreign |
    |---------|
 1. |       0 |
    +---------+

が 0 で1の場合、変数は観測 1 で正確に 1 回foreignと等しくなります。_n - 1foreign_n

要するに、(先ほど述べた変数の) 前の値として解釈されるべきで[_n-1]はありません。

help subscripting非常に基本的なヘルプを提供します。

于 2014-11-14T10:30:39.590 に答える