在 Stata 中分离独特的观察结果并计算平均值
Isolating unique observations and calculating the average in Stata
目前我有一个如下所示的数据集:
mnbr firm contribution
1591 2 1
9246 6 1
812 6 1
674 6 1
等等。这个想法是 mnbr 是在公司工作的员工的成员数量 # whatever。如果 contribution 为 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 人向该基金捐款。
在此先感谢您的帮助。
为了回答您的评论,这对我有用:
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 也已解决。
目前我有一个如下所示的数据集:
mnbr firm contribution
1591 2 1
9246 6 1
812 6 1
674 6 1
等等。这个想法是 mnbr 是在公司工作的员工的成员数量 # whatever。如果 contribution 为 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 人向该基金捐款。
在此先感谢您的帮助。
为了回答您的评论,这对我有用:
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 也已解决。