楼主: lvchan521
33418 18

[数据管理求助] 关于pctile 和xtile,求教,感谢! [推广有奖]

11
sungmoo 发表于 2012-4-2 16:56:06
我先egen group=group (industry year)
然后, sum group
forval i=1/`r(max)'{
xtile temp = ROA, nq(5), [if group==`i']
}
我就是想加个if语句,但是不知道怎么写............
跑出来的结果显示“weights not allowed”
首先,if不是这样用的,它在","前面使用。"[]"只是表示它是可选项。

其次,即使if用法正确,上面也无法执行,因为不能每次循环中都生成同名变量。

12
sungmoo 发表于 2012-4-2 16:59:46
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2)(.4/.6=3)(.6/.8=4)(.8/1=5)
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 10 + 1 + 1 + 1 热心帮助其他会员
lvchan521 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 10  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

13
lvchan521 发表于 2012-4-2 17:40:08
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
对,对,对,这个就是我想要了,太感谢您了~

14
0060429 在职认证  发表于 2012-11-22 17:20:40
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
请问版主,bysort后面这个option : cumul   是什么意思呀?

另外,好像xtile 生成的变量是不能drop的吗?
我用xtile生成了一个变量x
然后replace  y=x
结果提示“variable xavemkap2 not found”
drop x
也是提示“variable xavemkap2 not found”
请问为什么会这样子呢?谢谢!!!

15
yuyue1012 发表于 2013-7-31 18:10:17
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
那我要是想将一个变量,如公司规模,从小到大排序,分成100组,生成新变量1~100咋办?请高手再指点指点

16
yuyue1012 发表于 2013-7-31 18:10:17
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
那我要是想将一个变量,如公司规模,从小到大排序,分成100组,生成新变量1~100咋办?请高手再指点指点

17
2200801056 学生认证  发表于 2013-10-22 18:19:48
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
荣誉版主出马就是不一样,太给力了!

18
2200801056 学生认证  发表于 2013-10-24 23:20:40
sungmoo 发表于 2012-4-2 16:59
*根据你前面写的,似乎可以用:
bys industry year (roa): cumul roa,g(p) eq
recode p (0/.2=1)(.2/.4=2 ...
老师好,有个问题想了很久没想清楚,希望能得到你的帮助:
   不知道版主有没有听过广义极值分布,大概的意思就是说某些时间序列的最小值会服从某个分布,就好比说常见的人的身高服从正态分布,不懂也不无大碍。我要用最大似然估计方法进行估计这个分布的参数(三个参数,theta、mu和sigma),比如说正态分布的mu、sigma。
   具体的似然函数由于论坛无法显示,就假设我的写法都正确吧。呵呵……
我编了以下程序:
program define evt
   version 12.0
   args lnf theta mu sigma
   tempvar a b
   quietly {
       gen double `a'=1/`theta'
       gen double `b'=`theta'*(($ML_y1-‘mu’)/`sigma')
       replace `lnf'=-ln(`sigma')-(1+`a')*ln(1-`b')-(1-`b'))^(-`a')
   }
end      //也假设我编的似然函数程序是对的吧。
ml model lf evt ( ) //因为我只有一组金融收益的时间序列,没有解释变量和被解释变量,即没有回归方程,通过这组序列我要直接求出theta、mu和sigma参数,这一步代码我不知道怎么写。求指教!   
补充:这个问题有点像给定一群人的身高,并且它们服从正态分布,要用最大似然估计方法求出其中的mu和sigma。thank you!
这个theta参数直接关系到我的论文,却一直都得不出结果,所以不得不多方请教了!

19
gaojian4430 发表于 2015-10-19 10:58:56

Syntax

    Create variable containing percentiles

        pctile [type] newvar = exp [if] [in] [weight] [, pctile_options]


    Create variable containing quantile categories

        xtile newvar = exp [if] [in] [weight] [, xtile_options]
已有 1 人评分论坛币 收起 理由
admin_kefu + 15 热心帮助其他会员

总评分: 论坛币 + 15   查看全部评分

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-21 11:09