目前,我的数据集显示如下:
mnbr firm contribution
1591 2 1
9246 6 1
812 6 1
674 6 1
等等。我们的想法是,mnbr是在公司工作的员工的成员数量。如果贡献是1(并且为此目的我已经全部丢掉了0),那么说员工已经为某个基金捐款了 我还使用代码簿来确定存在的唯一公司的数量。目标是确定每家公司的平均贡献数量,即公司2的贡献为1,公司6的贡献为3,依此类推。我到达的问题是访问代码簿中的唯一值编号 我在网上阅读了一些文档
inspect *varlist*
display r(N_unique)
这告诉我使用r(N_unique)会存储该值,但不幸的是这种方法对我不起作用。这是第1部分。
第2部分我还想创建一个显示每家公司贡献的变量,即
mnbr firm contribution average
1591 2 1 1
9246 6 . 2/3
812 6 1 2/3
674 6 1 2/3
表明,对于公司6,3名员工中有2名为该基金捐款 在此先感谢您的帮助。
答案 0 :(得分:1)
要回答您的评论,这对我有用:
clear
set more off
input ///
mnbr firm cont
1591 2 1
9246 6 .
812 6 1
674 6 1
end
list
// problem 1
inspect firm
display r(N_unique)
// problem 2
bysort firm: egen totc = total(cont)
by firm: gen share = totc / _N
list
在运行另一个Stata命令之前必须使用r(N_unique)
,否则它可能会丢失。您也可以将结果保存到local
或scalar
。
问题2也得到解决。