楼主: 晗小晗
12058 7

[一般统计问题] 如何将数据分组进行标准化? [推广有奖]

  • 0关注
  • 2粉丝

本科生

33%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.0133
学术水平
5 点
热心指数
5 点
信用等级
0 点
经验
276 点
帖子
25
精华
0
在线时间
120 小时
注册时间
2013-11-27
最后登录
2021-9-27

楼主
晗小晗 发表于 2017-1-4 10:58:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
举个例子,数据如下:
a        b
1        1
2        1
34      1
35      2
4        2
34      2
6        2


想按b的数值分组,分别计算b=1时a中每个数值的标准分、b=2时a中每个数值的标准分。
因为egen std不能使用by选项,目前使用的方法是先分组算平均分,然后算标准差,最后算出标准分,code如下:
  1. sort b
  2. by b: egen m=mean(a)
  3. by b: egen sd = sd(a)
  4. by b: gen new_score=(a-m)/sd
复制代码
不知有没有更简便的方法可以直接分组计算标准分?
求指点!谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:数据分组 标准化 score egen mean 如何

回帖推荐

黃河泉 发表于5楼  查看完整内容

先安装 ssc install center,然后

本帖被以下文库推荐

沙发
黃河泉 在职认证  发表于 2017-1-5 15:24:26
好像也想不出了!

藤椅
飞翔的琥珀 发表于 2018-5-20 19:37:15
你好,想问楼主如果分类变量再多一个,比如a按b,c进行标准化的话应该如何写命令呢?

板凳
sunlunxuan1987 发表于 2018-6-1 09:17:19
请问最后解决了吗?

报纸
黃河泉 在职认证  发表于 2018-6-2 06:58:40
先安装 ssc install center,然后
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(a b)
  4. 1 1
  5. 2 1
  6. 34 1
  7. 35 2
  8. 4 2
  9. 34 2
  10. 6 2
  11. end

  12. bys b: center a, s gen(z_a)
复制代码

地板
咿咿呀呀111 发表于 2019-4-27 18:21:31
飞翔的琥珀 发表于 2018-5-20 19:37
你好,想问楼主如果分类变量再多一个,比如a按b,c进行标准化的话应该如何写命令呢?
你好,请问你解决这个问题了吗

7
黃河泉 在职认证  发表于 2019-4-27 18:35:01
咿咿呀呀111 发表于 2019-4-27 18:21
你好,请问你解决这个问题了吗
如上所述,先 ssc install center,试试类似
  1. sysuse auto, clear
  2. bysort rep78 foreign: center mpg price weight, prefix(z_)
  3. order rep78 foreign mpg price weight z_mpg z_price z_weight
复制代码

8
咿咿呀呀111 发表于 2019-4-28 10:45:09
黃河泉 发表于 2019-4-27 18:35
如上所述,先 ssc install center,试试类似
十分感谢老师的帮助!昨天看到了您类似帖子的回复,使用了三步命令分行业和年度做了出来,再次感谢您!
bysort  year ind:egen x1_mean=mean(x1)
bysort  year ind:egen x1_sd=sd(x1)
gen zx1=(x1-x1_mean)/x1_sd

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 05:55