楼主: realgod5417
4177 9

[求助]如何在同一个图内画两个变量的normal density图 [推广有奖]

  • 1关注
  • 1粉丝

VIP

硕士生

58%

还不是VIP/贵宾

-

威望
0
论坛币
2641 个
通用积分
29.8590
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
4067 点
帖子
142
精华
0
在线时间
174 小时
注册时间
2007-1-31
最后登录
2022-12-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

如何在同一个图内画两个变量的normal density图,

注意是normal density图不是kernel density图

并且一个是离散变量一个是连续变量!

知道的大侠,教教我!谢谢先

二维码

扫码加我 拉你入群

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

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

关键词:Density normal Norm RMA NOR 变量 normal Density 内画

梅须逊雪三分白雪却输梅一段香
沙发
sungmoo 发表于 2009-2-19 08:27:00 |只看作者 |坛友微信交流群
离散变量有可能对应normal density吗?

使用道具

藤椅
realgod5417 发表于 2009-2-19 10:21:00 |只看作者 |坛友微信交流群
以下是引用sungmoo在2009-2-19 8:27:00的发言:
离散变量有可能对应normal density吗?

Sorry,我没解释明白,我的离散是相对的,两个变量是不同方法对同一性状测得的结果,只是精度不同,一个精确到十位一个精确到个位!

并不是离散的1.2,3类,对不起,当时留言的时候没说清楚产生了问题!

 

[em04]
梅须逊雪三分白雪却输梅一段香

使用道具

板凳
sungmoo 发表于 2009-2-19 13:05:00 |只看作者 |坛友微信交流群
stata好像没有能实现的单一命令

使用道具

报纸
arlionn 在职认证  发表于 2009-2-19 15:59:00 |只看作者 |坛友微信交流群
以下是引用realgod5417在2009-2-18 22:56:00的发言:

如何在同一个图内画两个变量的normal density图,

注意是normal density图不是kernel density图

并且一个是离散变量一个是连续变量!

知道的大侠,教教我!谢谢先

思路:1. 利用 normden() 函数计算出两个变量的密度函数;

      2. 采用 twoway line 命令将两个变量的密度函数绘制在同一张图中,OK

**********************实例***********************

*产生一份模拟数据
  clear
  set obs 1000
  gen x = 0 + 1*invnorm(uniform())  /*x--N(0,1)*/
  gen y = 1 + 2*invnorm(uniform())  /*y--N(1,4)*/
 
* 应用时,只需将x和y分别替换为相应的变量名称即可
  local v1  x
  local v2  y
    qui sum `v1'
  gen n_`v1' = normalden(`v1', `r(mean)', `r(sd)')
    qui sum `v2'
  gen n_`v2' = normalden(`v2', `r(mean)', `r(sd)')
  twoway (line n_`v1' `v1',sort) (line n_`v2' `v2',sort)

* 效果:运行后即可看到。

 

[em05]

使用道具

地板
teresayou 发表于 2009-2-19 18:05:00 |只看作者 |坛友微信交流群

ARLION 老师, 我还想问一下关于 LOCAL 命令的问题, 一直不太明白为什么要 LOCAL V1 X 或者, GLOBAL VI X. 直接用 X 不好吗.

比如

gen n_`v1' = normalden(`v1', `r(mean)', `r(sd)')
    qui sum `v2'
  gen n_`v2' = normalden(`v2', `r(mean)', `r(sd)')
  twoway (line n_`v1' `v1',sort) (line n_`v2' `v2',sort)

改成

gen n_`X' = normalden(`X', `r(mean)', `r(sd)')
    qui sum `Y'
  gen n_`Y' = normalden(`Y', `r(mean)', `r(sd)')
  twoway (line n_`X' `X',sort) (line n_`Y' `Y',sort)

另外, LOCAL 与GLOBAL 有什么区别呢. 问题有点傻, 不过很想知道. 先谢谢了.

使用道具

7
蓝色 发表于 2009-2-19 18:19:00 |只看作者 |坛友微信交流群

直接也是可以的。 

*产生一份模拟数据
  clear
  set obs 1000
  gen x = 0 + 1*invnorm(uniform())  /*x--N(0,1)*/
  gen y = 1 + 2*invnorm(uniform())  /*y--N(1,4)*/
 
* 应用时,只需将x和y分别替换为相应的变量名称即可
    qui sum x
  gen n_x = normalden(x, `r(mean)', `r(sd)')
    qui sum y
  gen n_y = normalden(y, `r(mean)', `r(sd)')
  twoway (line n_x x,sort) (line n_y y,sort)

使用道具

8
teresayou 发表于 2009-2-19 18:32:00 |只看作者 |坛友微信交流群
谢谢蓝色的答复!

使用道具

9
arlionn 在职认证  发表于 2009-2-19 19:39:00 |只看作者 |坛友微信交流群
以下是引用teresayou在2009-2-19 18:05:00的发言:

ARLION 老师, 我还想问一下关于 LOCAL 命令的问题, 一直不太明白为什么要 LOCAL V1 X 或者, GLOBAL VI X. 直接用 X 不好吗.

比如

gen n_`v1' = normalden(`v1', `r(mean)', `r(sd)')
    qui sum `v2'
  gen n_`v2' = normalden(`v2', `r(mean)', `r(sd)')
  twoway (line n_`v1' `v1',sort) (line n_`v2' `v2',sort)

改成

gen n_`X' = normalden(`X', `r(mean)', `r(sd)')
    qui sum `Y'
  gen n_`Y' = normalden(`Y', `r(mean)', `r(sd)')
  twoway (line n_`X' `X',sort) (line n_`Y' `Y',sort)

另外, LOCAL 与GLOBAL 有什么区别呢. 问题有点傻, 不过很想知道. 先谢谢了.

我用local是因为很容易修改,并且日后可以很方便地把这写代码定义成命令,即ado文件。

使用道具

10
realgod5417 发表于 2009-2-19 22:53:00 |只看作者 |坛友微信交流群

谢谢,各个版主的大力帮助,问题已经解决

梅须逊雪三分白雪却输梅一段香

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 12:26