楼主: 八千里平川
1166 15

[数据管理求助] stata分组数据求助!!急急急!! [推广有奖]

  • 0关注
  • 0粉丝

本科生

14%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.3078
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
785 点
帖子
52
精华
0
在线时间
70 小时
注册时间
2023-4-7
最后登录
2024-11-21

楼主
八千里平川 发表于 2023-4-8 08:22:25 来自手机 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据如下,des表示做出某种决策,area表示省份代码,希望能够统计出各个省份的样本量,然后再统计出各个省份中做出“1”决策的样本量与各个省份的样本量之比的结果。求stata命令代码,小白一个,真的很着急,希望各位大佬能够帮忙解决一下!!!非常感谢!!!
des  area
1    11
1    11
1    11
1    37
1    14
1    37
2    37
2    11
2    11
2    22
2    14
2    22
1    22
1    36
2    14
1    37
2    14
1    14

二维码

扫码加我 拉你入群

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

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

关键词:stata分组 Stata 数据求助 tata stata命令

沙发
Liss_H 学生认证  发表于 2023-4-8 10:39:36
  1. *** 数据整体描述
  2. des

  3. *** 统计各个省份的样本量
  4. tab area

  5. *** 统计决策“1”的数量
  6. gen d1 = (des==1)
  7. tab area d1
复制代码

藤椅
八千里平川 发表于 2023-4-8 12:14:04
Liss_H 发表于 2023-4-8 10:39
已经做出来啦,能看到各个省份决策数量了,但是怎么才能转输在数据表中生成新的一列再和前面的数据对应起来呢?就比如下面这组数据,11省份做1决策的有3个,然后新一列对应显示出来3,然后37省份做2决策的有1个,然后新一列对应显示出来等等等,以此类推
des  area  new
1    11       3
1    11       3
1    37       2
2    37       1
1    11       3
2    11       2
1    37       2
2    11       2
2    22       3
2    22       3
2    22       3
1    22       1

板凳
DΘstinyじò 发表于 2023-4-8 13:14:39
方法很多,提供两个思路:
  1. //方法一:
  2. bys area(des) : gen 各省样本量=_N
  3. bys area  des : gen 省各决策数=_N

  4. //方法二:
  5. rangestat (count) area, interval(area 0 0)
  6. rangestat (count) des , interval(des  0 0) by(area)
复制代码

报纸
八千里平川 发表于 2023-4-8 15:14:29
DΘstinyじò 发表于 2023-4-8 13:14
方法很多,提供两个思路:
谢谢答主,已经做出来了,我还想再问一个问题,可不可以让新一列显示成无论某个省份作出哪种决策,对应的都显示出做某种决策的数量呢,就比如11省份做1决策的有3个,然后新一列对应显示出来3,然后11省份做出2决策的时候新一列同样对应显示出来3,然后以此类推。就是以1决策为准,做出的1决策数量对应显示到相应省份,像下面这样,如果是这样的话代码是什么样子的哇
des  area  new
1    11       3
1    11       3
1    37       2
2    37       2
1    11       3
2    11       3
1    37       2
2    11       3
2    22       1
2    22       1
2    22       1
1    22       1

地板
八千里平川 发表于 2023-4-8 15:20:47
八千里平川 发表于 2023-4-8 15:14
谢谢答主,已经做出来了,我还想再问一个问题,可不可以让新一列显示成无论某个省份作出哪种决策,对应的 ...
现在想到的办法是新建一列再按条件赋值:
gen shuliang=.
replace shuliang=1 if new==2|new==1
不知道有没有一气呵成的做法

7
DΘstinyじò 发表于 2023-4-8 20:29:57
八千里平川 发表于 2023-4-8 15:20
现在想到的办法是新建一列再按条件赋值:
gen shuliang=.
replace shuliang=1 if new==2|new==1
接上刚才的   得到了每个省每个决策(决策1、决策2)的数量统计——省决策数
  1. bys area (des) :gen wanted=省决策数[1]
复制代码
(你给这个条件赋值没太看懂,没有得到你所说的结果)

8
八千里平川 发表于 2023-4-8 21:51:23
DΘstinyじò 发表于 2023-4-8 20:29
接上刚才的   得到了每个省每个决策(决策1、决策2)的数量统计——省决策数(你给这个条件赋值每太看懂, ...
不知道为什么我统计出来的是决策2的数量,哭了T^T

9
八千里平川 发表于 2023-4-9 10:59:44
八千里平川 发表于 2023-4-8 21:51
不知道为什么我统计出来的是决策2的数量,哭了T^T
不知道是不是我自己设置的决策是0-1的原因,0是不做,1是做,我试了试那个代码,出来的是0决策,把最后一步的括号1换成0还是出来的0决策

10
DΘstinyじò 发表于 2023-4-9 13:46:09
八千里平川 发表于 2023-4-9 10:59
不知道是不是我自己设置的决策是0-1的原因,0是不做,1是做,我试了试那个代码,出来的是0决策,把最后一 ...
如果你原来的写的的des=1 是决策1(做),des=2是决策2(不做),对应现在des=0是不做,des=1是做的话,想要得到des=1即做决策的统计,将[1]改为[_N]试一试。

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

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