楼主: 施冠锐
3403 8

[Stata初级班] 关于reshape命令 [推广有奖]

  • 11关注
  • 9粉丝

高级会员

已卖:4份资源

学科带头人

14%

还不是VIP/贵宾

-

威望
0
论坛币
4810 个
通用积分
48.3475
学术水平
29 点
热心指数
43 点
信用等级
22 点
经验
214196 点
帖子
1745
精华
0
在线时间
2001 小时
注册时间
2009-8-9
最后登录
2025-2-17

楼主
施冠锐 发表于 2011-4-1 13:05:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
老师,您好
id         name                   lnasset                   assitor                                  year
1          A公司                   22.5924358             赵奇,金文                         2001
1          A公司                   22.8293284             赵奇,罗科                        2002
2          B公司                   23.0804267             罗科,金文 ,李利           2001
2          B公司                   23.466323                罗科,彭青,李利            2002
3          C公司                   23.81396                  李婉,彭青                       2001

使用split将assitor中的变量分为V1、V2、V3,大部分没有V3,brows数据时
发现没有V3的公司中v3变量是空白,使用list  v3 if   v3!= "  ",结果却显示的是
所有V3变量,为什么呢,我该如何只列示存在第三个工作人员的情况的呢?
二维码

扫码加我 拉你入群

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

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

关键词:reshape Shape APE RES Asset 命令 reshape

沙发
施冠锐 发表于 2011-4-1 13:07:07
. 而且使用sum命令:sum  v3
结果竟然是

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
          v3 |         0

藤椅
arlionn 在职认证  发表于 2011-4-1 15:08:27
施冠锐 发表于 2011-4-1 13:05
老师,您好
id         name                   lnasset                   assitor                                  year
1          A公司                   22.5924358             赵奇,金文                         2001
1          A公司                   22.8293284             赵奇,罗科                        2002
2          B公司                   23.0804267             罗科,金文 ,李利           2001
2          B公司                   23.466323                罗科,彭青,李利            2002
3          C公司                   23.81396                  李婉,彭青                       2001

使用split将assitor中的变量分为V1、V2、V3,大部分没有V3,brows数据时
发现没有V3的公司中v3变量是空白,使用list  v3 if   v3!= "  ",结果却显示的是
所有V3变量,为什么呢,我该如何只列示存在第三个工作人员的情况的呢?
clear
input int id str10 name long lnasset str30 assitor int year
      1 A公司 22.5924358 "赵奇,金文"         2001
      1 A公司 22.8293284 "赵奇,罗科"         2002
      2 B公司 23.0804267 "罗科,金文 ,李利"  2001
      2 B公司 23.466323  "罗科,彭青,李利"   2002
      3 C公司 23.81396   "李婉,彭青"         2001
end

split assitor, p(",")
list assitor3 if assitor3 !=" "


结果如下:

. list assitor3 if assitor3 !=" "
     +----------+
     | assitor3 |
     |----------|
  1. |          |
  2. |          |
  3. |     
李利 |
  4. |     李利
|
  5. |          |
     +----------+



由于 assitor3 是文字变量,自然无法采用 sum 命令进行统计分析。

板凳
施冠锐 发表于 2011-4-2 14:28:10
list assitor3 if assitor3 !=" "
可是我只是想了解所有有第三个工作人员的情况,用list不是就列示了所有的吗?不管有没有第三个工作人员

报纸
arlionn 在职认证  发表于 2011-4-2 15:12:07
还请说明你到底想要什么,我不太清楚你最终的目的。

地板
施冠锐 发表于 2011-4-3 23:19:37
我是想计算哪些企业是有三个业务人员参与完成
这样在后续的统计中,分子就是所有参与者的数量乘以资产对数,分母是该行业资产的对数和
比如A公司2001年,就是2*lnasset
B公司2001年就是3*lnasset
不知道我表述的是否清楚

7
arlionn 在职认证  发表于 2011-4-4 15:05:53
clear
input int id str10 name long lnasset str30 assitor int year
      1 A公司 22.5924358 "赵奇,金文"         2001
      1 A公司 22.8293284 "赵奇,罗科"         2002
      2 B公司 23.0804267 "罗科,金文 ,李利"  2001
      2 B公司 23.466323  "罗科,彭青,李利"   2002
      3 C公司 23.81396   "李婉,彭青"         2001
end
compress
split assitor, p(",")

list assitor3 if assitor3 !=""

gen yes3 = (assitor3 !="")

后续分析基于 yes3 变量进行即可。

8
施冠锐 发表于 2011-4-5 15:45:51
老师您好
使用了上述命令之后,有一个问题请教您
如果是split assitor, p(","),即括号中是中文逗号的话,则会生成两个变量,在asstor1中列示第一和第二名人员,第三名(如果有的话)在assitor2中
如果是split assitor, p(","),即英文字符,则会生成六个变量从assitor1至assitor6
但第四、五、六中均为空白
不知道为什么会这样
数据是从数据库中下载下来的

9
arlionn 在职认证  发表于 2011-4-6 09:31:55
你的原始数据中,姓名的格式并不统一,例如:
2 B公司 23.0804267 "罗科,金文 ,李利"  2001
紫色部分,逗号后还有一个空格。
另外,还需注意的是,中文输入法下的“,”占两个字符,而英文输入法下的“,”仅占一个字符。

有了上述信息,我想你的问题应该可以解答了。

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

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