Seite 1 von 1

Beobachtungen zählen, nach Gruppen sortiert

BeitragVerfasst: Di 16. Okt 2018, 16:17
von kt_eap
Hallo zusammen,

ich habe folgende Daten:

+-----------------------+
| ULT_cusip | AID_Value |
|-----------+-----------|
1. | 0 | 2 |
2. | 0 | 2 |
3. | 00001Q | 0 |
4. | 00002A | 0 |
5. | 00002T | 4 |
6. | 00005H | 1 |
7. | 00005H | 2 |
8. | 00005H | 0 |
9. | 00005P | 4 |
10. | 00008E | 0 |
+-----------------------+


Ich möchte nun eine Variable erstellen, die die Häufigkeit von "0" pro ULT_cusip Nummer wiedergibt.

Das müsste dann so aussehen:


+-------------------------------------+
| ULT_cusip | AID_Value | AID_count_0 |
|-----------+-----------+-------------|
1. | 0 | 2 | 0 |
2. | 0 | 2 | 0 |
3. | 00001Q | 0 | 1 |
4. | 00002A | 0 | 1 |
5. | 00002T | 4 | 0 |
6. | 00005H | 1 | 1 |
7. | 00005H | 2 | 1 |
8. | 00005H | 0 | 1 |
9. | 00005P | 4 | 0 |
10. | 00008E | 0 | 1 |
+-------------------------------------+

Um das zu erreichen, habe ich u.a. folgendes probiert:

Code: Alles auswählen
bysort ULT_cusip: egen AID_count_0 = count (AID_Value == 0)


Leider bekomme ich das hier:

+-------------------------------------+
| ULT_cusip | AID_Value | AID_count_0 |
|-----------+-----------+-------------|
1. | 0 | 2 | 2 |
2. | 0 | 2 | 2 |
3. | 00001Q | 0 | 1 |
4. | 00002A | 0 | 1 |
5. | 00002T | 4 | 1 |
6. | 00005H | 1 | 3 |
7. | 00005H | 2 | 3 |
8. | 00005H | 0 | 3 |
9. | 00005P | 4 | 1 |
10. | 00008E | 0 | 1 |
+-------------------------------------+

Weiß jemand eine Lösung?
Das wäre traumhaft. :-)

Lieben Gruß

Re: Beobachtungen zählen, nach Gruppen sortiert

BeitragVerfasst: Mi 17. Okt 2018, 09:20
von Staxa
Code: Alles auswählen
bysort ULT_cusip: gen counter = 1 if AID_Value == 0
bysort ULT_cusip: egen summe = sum(counter)

Re: Beobachtungen zählen, nach Gruppen sortiert

BeitragVerfasst: Do 18. Okt 2018, 11:13
von kt_eap
Danke für die schnelle Antwort. :)

Es ging dann auch in einem einfachen Schritt:

Code: Alles auswählen
egen AFD_count_1 = sum(Function_Value == 1), by(ULT_cusip)