楼主: bax485991
3832 0

[编程问题求助] stata在编写自带命令时报错 too few variables specified [推广有奖]

  • 0关注
  • 0粉丝

高中生

25%

还不是VIP/贵宾

-

威望
0
论坛币
1870 个
通用积分
72.7000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
136 点
帖子
8
精华
0
在线时间
35 小时
注册时间
2020-10-24
最后登录
2022-4-6

楼主
bax485991 发表于 2022-4-5 21:41:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
拥有数据如下,变量分别代表证券代码、年份、人口数量、收入数量

* Example generated by -dataex-. To install: ssc install dataex
clear
input str12 Stkcd float year long S0101a double Numdiv
"000001" 2016  350142  2712924995.83
"000001" 2017  343994  2335175945.78
"000001" 2018  429409  2489709648.07
"000002" 2008 1056521    549760510.9
"000002" 2009 1446970   769664715.26
"000002" 2010 1117665   1099521021.8
"000002" 2011  925732  1429377328.34
"000002" 2012  748877  1979199561.24
"000002" 2013  723239  4516137256.79
"000002" 2014  496907     5524071900
"000002" 2015  272350  7948189440.72
"000002" 2016  336065  8720930080.79
"000002" 2018  243721 11811892254.63
"000002" 2019  245835 11810738747.83
"000002" 2020  385248 14522165251.25
"000006" 2007   33648     25359163.1
"000006" 2008   70323    40574660.96
"000006" 2009   65182    60861991.44
"000006" 2010   72966    45646493.58
"000006" 2011   62505     39560294.4
end
[/CODE]

想要参考陈传波老师的stata十八讲,计算企业层面这个收入变量的基尼系数。不过我想实现面板数据的计算,想要编写“gini2”命令,输出每一个年份的基尼系数。

我编写的命令如下
capture program drop gini2
program gini2
syntax varlist [if] [in] [,title(string)] //设置我们自己的命令格式
tempvar tinc tp  p w pregini2 gini2  //设定tinc tp  p w pregini2 gini2 七个变量为临时变量
marksample touse  //生成一个0/1暂元,暂元名为touse
preserve  //将内存中的数据暂封存,直到restore命令再复原
quietly{  //大括号后的命令将在后台执行,前台无显示
keep if `touse' //根据if后输入的条件得到一个子数据
sort `3' `4'
by `3' : egen `tinc'=sum(`1')  //生成总收入,将总收入数据暂存在临时变量`tinc'中
if "`2'"==""{
local 2=1
}   //如果没有人口变量,则默认为该变量为1
by `3' :egen `tp'=sum(`2')
gen `m'=`1'/`2'
sort `3' `m'
bysort `3': gen `p'= `2'/ `tinc'
bysort `3': gen `w'= `1'/ `tinc'
bysort `3'(`m'): gen `q'=sum(`1'/ `tinc')
by `3': egen `pregini2'= sum(`p' *(2*`p'-`w'))
gen `gini2'=1-`pregini2'
}
tabstat `gini2',stat(mean) by(`3')
restore
end

执行“gini2”命令后,总是报错

. gini2 Numdiv S0101a year
too few variables specified
r(102);




想请教大家,知道这是怎么回事吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Variables specified Variable Stata ABLE Stata SYNTAX SyntaxError

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-2 14:36