楼主: wyxe193
9572 16

[数据管理求助] stata如何处理如下要求的数据? [推广有奖]

  • 0关注
  • 0粉丝

大专生

8%

还不是VIP/贵宾

-

威望
0
论坛币
898 个
通用积分
15.7097
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
873 点
帖子
24
精华
0
在线时间
42 小时
注册时间
2013-11-18
最后登录
2021-6-23

楼主
wyxe193 发表于 2014-5-11 00:34:48 |AI写论文
1论坛币
求k公司的资产负债率与同行业其他公司平均资产负债率的差额。具体描述:1.同行业所有公司的平均资产负债率可以求,但是剔除k公司之后再做差应该如何处理?
2.k的取值是从1一直到1000(因为一共有1000多家公司),所以不可能手动剔除k公司之后求了平均数再求差额。

另外,stata有没有命令是 删除 可以匹配上的数据 的?

菜鸟一枚,求大家指点。

最佳答案

xingxf 查看完整内容

同学,你问问题,得把数据格式告诉大家啊,否则没办法帮你啊。 我姑且假设你的问题有如下格式数据:第一列firm表示公司代码,第二列debt代表对应公司的资产负债率 firm debt a 0.6 b 0.5 c 0.2 ... ... 那么按照你的要求,可以写如下代码: gen N=_N egen total=total(debt) gen average=(total-debt)/(n-1) gen difference= ...
关键词:Stata tata 资产负债率 资产负债 负债率 负债率 平均数 如何 行业

沙发
xingxf 发表于 2014-5-11 00:34:49
同学,你问问题,得把数据格式告诉大家啊,否则没办法帮你啊。
我姑且假设你的问题有如下格式数据:第一列firm表示公司代码,第二列debt代表对应公司的资产负债率
firm            debt               
a                0.6
b                0.5
c                0.2
...               ...

那么按照你的要求,可以写如下代码:
gen N=_N
egen total=total(debt)
gen average=(total-debt)/(n-1)
gen difference=debt-average


解释如下:
第一行:生成新的一列N,它等于公司总数
第二行:生成新的一列total,它等于所有公司资产负债率的总和
第三行:生成新的一列average,它等于总和total减去本公司debt,再除以(公司总数-1)。就是你要求的得出除了本公司外其他所有公司资产负债率的均值
第四列:生成新的一列difference,即你要的差值

其实你的问题通过简单的加减乘除就可以解决


已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
crystal8832 + 10 + 1 + 1 精彩帖子
╰不滅信念 + 1 + 1 + 1 精彩帖子

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

藤椅
wyxe193 发表于 2014-5-11 10:39:08
xingxf 发表于 2014-5-11 00:34
同学,你问问题,得把数据格式告诉大家啊,否则没办法帮你啊。
我姑且假设你的问题有如下格式数据:第一列 ...
十分感谢!下次提问会记得附上格式的。其实格式正如你所说。会继续努力学习Stata的!=_=临时抱佛脚用了stata。

板凳
wyxe193 发表于 2014-5-11 13:03:12
xingxf 发表于 2014-5-11 00:34
同学,你问问题,得把数据格式告诉大家啊,否则没办法帮你啊。
我姑且假设你的问题有如下格式数据:第一列 ...
请问您知道下面的两列数据该如何进行t检验么?
例:  var1      var2
         1.7      1.5
         1.8      1.8
         1.5      1.6
         1.7      1.4
         1.4      1.7
                   1.5
                   1.8
                   1.3
我用了ttest var1=var2,
但是stata自动把两列数据数量取成了一样的,其实var2的数据量比var1多很多。

报纸
xingyun1688 学生认证  发表于 2014-5-11 14:35:22
xingxf 发表于 2014-5-11 00:34
同学,你问问题,得把数据格式告诉大家啊,否则没办法帮你啊。
我姑且假设你的问题有如下格式数据:第一列 ...
你好 ,想问一下,如果我想对我的数据进行处理 如果一串数字的第一个数字不是0 则在其前面加上一个0 该怎么处理?

地板
wyxe193 发表于 2014-5-11 14:45:04
xingyun1688 发表于 2014-5-11 14:35
你好 ,想问一下,如果我想对我的数据进行处理 如果一串数字的第一个数字不是0 则在其前面加上一个0 该怎 ...
excel不就可以处理么?设置单元格格式,自定义,比如5,想变为000005,就设置格式为”000000“。

7
xingyun1688 学生认证  发表于 2014-5-11 14:57:36
wyxe193 发表于 2014-5-11 14:45
excel不就可以处理么?设置单元格格式,自定义,比如5,想变为000005,就设置格式为”000000“。
我的数据比较多 而且我的数据只有一部分数据没有0 一部分数据有0

8
wyxe193 发表于 2014-5-11 16:08:36
xingyun1688 发表于 2014-5-11 14:57
我的数据比较多 而且我的数据只有一部分数据没有0 一部分数据有0
好吧。。

9
xingxf 发表于 2014-5-11 22:46:10
wyxe193 发表于 2014-5-11 13:03
请问您知道下面的两列数据该如何进行t检验么?
例:  var1      var2
         1.7      1.5
你的命令是Two-sample mean-comparison test (paired)
要用unpaired test:
ttest var1==var2, unpaired
另外,根据需要可以加上unequal和welch参数:
ttest var1==var2, unpaired unequal welch
unequal代表两组数据variances不等
welch代表用Welch's approximation估算

建议多借助help
help ttest都有解释

10
xingxf 发表于 2014-5-11 23:51:17
xingyun1688 发表于 2014-5-11 14:35
你好 ,想问一下,如果我想对我的数据进行处理 如果一串数字的第一个数字不是0 则在其前面加上一个0 该怎 ...
首先你先要确定变量类型,你要区分字符型变量和数字变量。没有数字(小数除外)是以0开始的,如果以0开始,那是字符型变量。将数据导入Stata后,你先看看你的变量类型,data browser如果是黑色显示的,那说明认成了数字,如果是红色显示的,那说明是字符。你点变量,在properties里其实也显示变量类型。如果Stata直接把你的数据认成了字符,说明你那串数字里有字母或者其它字符。如果你导入后是数字,首先要把数字变字符,假设你的变量名称叫var1,用如下命令生成字符变量:
gen string=string(var1)
如果直接被认成了字符,可以忽略这步。
然后,将首位不是0的字符补0
replace string="0"+string if substr(string,1,1)!="0"


如果你的需要是补齐位数,比如你这个变量名叫var1,且是字符型变量,变量有6位数,把少于6位的观察值在前面补0,那么命令如下:
gen var2=substr("000000"+var1,-6,.)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
xingyun1688 + 1 + 1 + 1 精彩帖子

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

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

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