全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
6597 5
2008-09-30
<p>如果我对一个变量进行tab,得出百分比,然后如何用command对这个百分比进行round四舍五入呢?</p><p>同样,如果tab后得出一个frequency,我想对每个变量的freq都除一个数字(如1000),该如何引用tab后的数据进行下一步操作呢?</p><p>很困惑~</p><p>非常谢谢!</p>
二维码

扫码加我 拉你入群

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

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

全部回复
2008-9-30 06:37:00

************************************************1000除频数操作

tab f, matrow(x) matcell(y)

*f是相关变量。列向量x的各分量即f的各种取值(由小到大),列向量y的各分量即f的各种取值(由小到大)的频数

clear

*关闭原数据文件

svmat x

svmat y

*生成新数据文件:x1即f的各种取值(由小到大),y1即f的各种取值(由小到大)的频数

replace y1=y1/1000

************************************************频率(百分数)四舍五入操作,小数点后只保留一位

tab f, matrow(x) matcell(y)

clear

svmat x

svmat y

egen n=sum(y1)

replace y1=round(100*y1/n, 0.1)

[此贴子已经被作者于2008-9-30 7:02:32编辑过]

二维码

扫码加我 拉你入群

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

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

2008-9-30 08:25:00

谢谢!楼上好牛啊~

我有个问题,如果要对上面的求频数的问题进行循环操作,用foreach么,该怎么做呢,比如f1-f10?

二维码

扫码加我 拉你入群

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

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

2008-9-30 16:42:00
以下是引用iloneonone在2008-9-30 8:25:00的发言:我有个问题,如果要对上面的求频数的问题进行循环操作,用foreach么,该怎么做呢,比如f1-f10?

如果想新生成一个数据库,f1-f10的各种取值的个数未必相等。

二维码

扫码加我 拉你入群

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

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

2008-9-30 17:29:00
以下是引用iloneonone在2008-9-30 8:25:00的发言:如果要对上面的求频数的问题进行循环操作,用foreach么,该怎么做呢,比如f1-f10?

foreach v of varlist f1-f10{

tab `v', matrow(`v'x) matcell(`v'y)

svmat `v'x

svmat `v'y

egen n=sum(`v'y1)

replace `v'y1=round(100*`v'y1/n, 0.1)

drop n

}

keep f*x* f*y*

二维码

扫码加我 拉你入群

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

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

2009-10-14 20:53:21
受益了,谢谢
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群