楼主: 屠夫的女儿
3571 5

[数据管理求助] stata编程求助!生个一个新变量,表示某一个原来变量中不同观测值的个数 [推广有奖]

  • 2关注
  • 0粉丝

已卖:2份资源

硕士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
3.1800
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1049 点
帖子
49
精华
0
在线时间
205 小时
注册时间
2010-4-4
最后登录
2022-9-2

楼主
屠夫的女儿 发表于 2016-8-24 21:34:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
dm  id  newvar(新变量)
1     a   1
1    a    1
1     a    1
2     b    2
2      b    2
2     c     2

请问,我想生成一个新变量newvar ,表示同一个dm下不同id的个数,stata该怎么编程?


二维码

扫码加我 拉你入群

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

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

关键词:stata编程 Stata tata 新变量 观测值 怎么编程

沙发
阿狸与桃子 发表于 2016-8-25 01:28:16
bys dm id: gen new = _N
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
intchen + 5 + 1 + 1 热心帮助其他会员
夏目贵志 + 5 + 1 热心帮助其他会员

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

藤椅
黃河泉 在职认证  发表于 2016-8-25 11:21:22
楼上的程序似乎不对,请试试(上次有人 post 出来的):
  1. bys dm id: gen id1 = _n
  2. bys dm: egen id2 = count(id1) if id1 == 1
  3. bys dm: egen newvar = mean(id2)
  4. drop id1 id2
  5. list
复制代码

板凳
屠夫的女儿 发表于 2016-8-25 11:39:19
黃河泉 发表于 2016-8-25 11:21
楼上的程序似乎不对,请试试(上次有人 post 出来的):
谢谢,结果是对,但是命令得出的结果不是很明白,可否解释一下?

报纸
屠夫的女儿 发表于 2016-8-25 11:42:26
屠夫的女儿 发表于 2016-8-25 11:39
谢谢,结果是对,但是命令得出的结果不是很明白,可否解释一下?
我自己用 duplicates drop dm id,force
by dm,sort: gen n=_n
by dm,sort: gen N=_N  解决

地板
黃河泉 在职认证  发表于 2016-8-25 11:47:49
屠夫的女儿 发表于 2016-8-25 11:39
谢谢,结果是对,但是命令得出的结果不是很明白,可否解释一下?
我也是从(好像是"蓝天")那边学的,刚刚我就一步一步执行命令,然后观察其变化,大概了解其精神!你应该也要试试看(不容易讲清楚)!

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

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