楼主: ×晓√
2308 11

[数据管理求助] 各位老师帮我看一下,以下数据怎么求一组有几组? [推广有奖]

  • 1关注
  • 1粉丝

已卖:5份资源

本科生

15%

还不是VIP/贵宾

-

威望
0
论坛币
3051 个
通用积分
3.3335
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
8704 点
帖子
59
精华
0
在线时间
56 小时
注册时间
2017-11-3
最后登录
2020-11-25

楼主
×晓√ 发表于 2019-3-28 17:01:50 |AI写论文
50论坛币
各位老师好,数据结构如下,在大组000011下有5小组数据分别是2、29、8、16、4,在000021大组里边有2组数分别为15,20,现在想要生成一列数据,尽量在在缺失值不删除的情况下,分别计000011为5,000021为2。
clear
input str6(mfc mfc_1 mfcstock) float bo
"000011" "481013" "000639"  2
"000011" "481015" "000639"  2
"000011" "770001" "000830"  2
"000011" "290008" "000830"  2
"000011" "700001" "000999" 29
"000011" "240001" "000999" 29
"000011" "260110" "000999" 29
"000011" "070019" "000999" 29
"000011" "070003" "000999" 29
"000011" "257070" "000999" 29
"000011" "050026" "000999" 29
"000011" "257040" "000999" 29
"000011" "610001" "000999" 29
"000011" "660006" "000999" 29
"000011" "163302" "000999" 29
"000011" "590001" "000999" 29
"000011" "110023" "000999" 29
"000011" "240020" "000999" 29
"000011" "070022" "000999" 29
"000011" "206009" "000999" 29
"000011" "580002" "000999" 29
"000011" "210009" "000999" 29
"000011" "050018" "000999" 29
"000011" "070002" "000999" 29
"000011" "160105" "000999" 29
"000011" "000021" "000999" 29
"000011" "420001" "000999" 29
"000011" "360007" "000999" 29
"000011" "255010" "000999" 29
"000011" "180020" "000999" 29
"000011" "470006" "000999" 29
"000011" "163818" "000999" 29
"000011" "110010" "000999" 29
"000011" "160512" "002022"  8
"000011" "360006" "002022"  8
"000011" "450003" "002022"  8
"000011" "360016" "002022"  8
"000011" "360012" "002022"  8
"000011" "050009" "002022"  8
"000011" "710002" "002022"  8
"000011" "450010" "002022"  8
"000011" "000021" "002570" 16
"000011" "519115" "002570" 16
"000011" "519991" "002570" 16
"000011" "090015" "002570" 16
"000011" "090004" "002570" 16
"000011" "373020" "002570" 16
"000011" "519150" "002570" 16
"000011" "519993" "002570" 16
"000011" "200012" "002570" 16
"000011" "100029" "002570" 16
"000011" "200016" "002570" 16
"000011" "519113" "002570" 16
"000011" "210001" "002570" 16
"000011" "162605" "002570" 16
"000011" "519672" "002570" 16
"000011" "370024" "002570" 16
"000011" "020003" "002664"  .
"000011" "610004" "300032"  .
"000011" "610006" "300032"  .
"000011" "310368" "300032"  .
"000011" "310308" "300032"  .
"000011" "161609" "600527"  4
"000011" "377530" "600527"  4
"000011" "373010" "600527"  4
"000011" "320011" "600527"  4
"000011" "610007" "600571"  .
"000021" "200006" "000028" 15
"000021" "240020" "000028" 15
"000021" "163818" "000028" 15
"000021" "070021" "000028" 15
"000021" "165516" "000028" 15
"000021" "710002" "000028" 15
"000021" "519668" "000028" 15
"000021" "121008" "000028" 15
"000021" "560006" "000028" 15
"000021" "257040" "000028" 15
"000021" "550003" "000028" 15
"000021" "377010" "000028" 15
"000021" "519672" "000028" 15
"000021" "070017" "000028" 15
"000021" "519099" "000028" 15
"000021" "100016" "000581" 20
"000021" "100026" "000581" 20
"000021" "530011" "000581" 20
"000021" "100056" "000581" 20
"000021" "398001" "000581" 20
"000021" "450001" "000581" 20
"000021" "161005" "000581" 20
"000021" "510081" "000581" 20
"000021" "350008" "000581" 20
"000021" "519035" "000581" 20
"000021" "202009" "000581" 20
"000021" "110005" "000581" 20
"000021" "460007" "000581" 20
"000021" "180013" "000581" 20
end

最佳答案

黃河泉 查看完整内容

好像需要先 ssc install egenmore,试试
关键词:000011 000021 000999 002570 000028

回帖推荐

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

好像需要先 ssc install egenmore,试试

沙发
黃河泉 在职认证  发表于 2019-3-28 17:01:51
×晓√ 发表于 2019-3-28 17:04
老师,又来麻烦您了。
好像需要先 ssc install egenmore,试试
  1. bys mfc: egen wantd = nvals(bo)
复制代码

藤椅
×晓√ 发表于 2019-3-28 17:04:25
老师,又来麻烦您了。

板凳
×晓√ 发表于 2019-3-29 09:29:45
黃河泉 发表于 2019-3-28 17:09
好像需要先 ssc install egenmore,试试
[em23][em23]感谢老师在百忙之中回复我的问题。

报纸
×晓√ 发表于 2019-3-29 11:04:12
黃河泉 发表于 2019-3-28 17:01
好像需要先 ssc install egenmore,试试
老师,出现了个问题,比如说当bo根据mfcstock统计出了两组分别是1,1的时间,他就会统计出wantd为1,实际应该是2的。这个应该怎么处理?

地板
×晓√ 发表于 2019-3-29 13:59:38
黃河泉 发表于 2019-3-28 17:01
好像需要先 ssc install egenmore,试试
老师,您有空看一下这组数据,000021后边实际有两小组(000999和002570)分别为1,用bys mfc_1: egen bo2_1 = nvals(bo2)结果显bo2_1为1,应该等于2的,ps:不能用 bys mfc: egen bo2_1 = nvals(mfcstock)命令的原因是,我的数据排列过的,也就是说000021对应的000999,后边也可能有002100对应000999。
* Example generated by -dataex-. To install: ssc install dataex
clear
input str6(mfc_1 mfcstock) float(bo2 bo2_1)
"000021" "000999"  1 1
"000021" "002570"  1 1
"000031" "600887"  3 1
"000031" "600887"  3 1
"000031" "600887"  3 1
"000061" "600886"  1 1
"002001" "600518"  2 1
"002001" "600518"  2 1
"002011" "000400"  1 1
"002021" "000895"  1 2
"002021" "002385"  1 2
"002021" "600518"  3 2
"002021" "600518"  3 2
"002021" "600518"  3 2
"020001" "300147"  1 1
"020001" "600572"  1 1
"020005" "000002"  6 1
"020005" "000002"  6 1
"020005" "000002"  6 1
"020005" "000002"  6 1
"020005" "000002"  6 1
"020005" "000002"  6 1
"020009" "600036"  2 2
"020009" "600036"  2 2
"020009" "601166"  3 2
"020009" "601166"  3 2
"020009" "601166"  3 2
"020009" "601318"  3 2
"020009" "601318"  3 2
"020009" "601318"  3 2
"020010" "600587"  1 1
"020015" "000671"  1 1
"020015" "300182"  1 1
"020023" "002400"  1 2
"020023" "600587"  2 2
"020023" "600587"  2 2
"020023" "600597"  1 2
"020023" "600837"  1 2
"020026" "300043"  1 3
"020026" "600572"  2 3
"020026" "600572"  2 3
"020026" "601117"  3 3
"020026" "601117"  3 3
"020026" "601117"  3 3
"040001" "600079"  2 2
"040001" "600079"  2 2
"040001" "600252"  3 2
"040001" "600252"  3 2
"040001" "600252"  3 2
"040004" "002250"  1 1
"040005" "002573"  1 1
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "000002" 10 2
"040007" "600383"  1 2
"040007" "600660"  1 2
"040011" "600050"  3 2
"040011" "600050"  3 2
"040011" "600050"  3 2
"040011" "600660"  2 2
"040011" "600660"  2 2
"040015" "002573"  2 2
"040015" "002573"  2 2
"040015" "300058"  3 2
"040015" "300058"  3 2
"040015" "300058"  3 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "000002" 13 2
"040016" "600660"  3 2
"040016" "600660"  3 2
"040016" "600660"  3 2
"040020" "002450"  3 1
"040020" "002450"  3 1
"040020" "002450"  3 1
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
"040025" "000002" 14 2
end
[/CODE]
------------------ copy up to and including the previous line ------------------
谢谢老师

7
黃河泉 在职认证  发表于 2019-3-29 14:41:51
×晓√ 发表于 2019-3-29 13:59
老师,您有空看一下这组数据,000021后边实际有两小组(000999和002570)分别为1,用bys mfc_1: egen bo2 ...
我看不懂 "ps:不能用 bys mfc: egen bo2_1 = nvals(mfcstock)命令的原因是,我的数据排列过的,也就是说000021对应的000999,后边也可能有002100对应000999"?

8
×晓√ 发表于 2019-3-29 16:32:01
黃河泉 发表于 2019-3-29 14:41
我看不懂 "ps:不能用 bys mfc: egen bo2_1 = nvals(mfcstock)命令的原因是,我的数据排列过的,也就是说0 ...
老师,我的意思是为了更好的呈现我的问题,我把数据进行了sort mfc_1 mfcstock的排序,所以说000021对应的000999并不是唯一的。问题就是ps之前的部分,应该是2组的,跑出来的结果是1,您看这种情况怎么办?

9
黃河泉 在职认证  发表于 2019-3-29 18:21:15
×晓√ 发表于 2019-3-29 16:32
老师,我的意思是为了更好的呈现我的问题,我把数据进行了sort mfc_1 mfcstock的排序,所以说000021对应的 ...
你直接跟我讲你到底要做什么?

10
×晓√ 发表于 2019-3-30 13:56:05
黃河泉 发表于 2019-3-29 18:21
你直接跟我讲你到底要做什么?
老师,不好意思,我表述的不清楚耽误您的时间了。我的问题是,在我给出的第二组数据里,其中000021这一组中算出来的bo2_1的结果是1,其实应该是2的,因为000021后有000999和002570两个mfcstock,这样的话要怎么算?

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

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