makae90
makae90

Reputation: 33

Deleting all observations given one observation for each variable's type

I have a table with firm identifiers, fiscal year, quarter and market_capital. I want to delete all firm observations that had a specific market capital at a specific quarter of a specific year. That is, I want to delete all observations for a firm if its market capital for 2006, quarter 2 was below 50.

My table is in the form:

enter image description here

Upvotes: 0

Views: 272

Answers (2)

user4690969
user4690969

Reputation:

If I understand correctly, you have a Stata dataset containing four variables which I will call firm, year, quarter, and mc (since "Capital Market" shown in the picture of your data is not valid a Stata variable name).

The following code might start you in the right direction, but it is untested since my copy of Stata cannot read the picture of your data, and "I want to retype data from a picture of data" said nobody, ever.

Added in edit: the untested code had an error, so I removed it.

Upvotes: 1

Nick Cox
Nick Cox

Reputation: 37208

Having a quarterly date variable -- rather than separate year and quarter variables -- will be needed sooner or later.

That could be

gen qdate = yq(year, quarter) 
format qdate %tq 

Then your code for dropping is

egen todrop = total(capital < 50 & qdate == yq(2006, 2)), by(firm)  
drop if todrop 

as the variable todrop will be 1 if and only if you want to drop a firm and 0 otherwise.

See this paper for a review of related technique.

Upvotes: 0

Related Questions