楼主: 海绵萧萧
2843 3

[数据管理求助] 咨询关于generate命令生成变量的不解之处 [推广有奖]

  • 0关注
  • 3粉丝

博士生

64%

还不是VIP/贵宾

-

威望
0
论坛币
171 个
通用积分
1.3325
学术水平
6 点
热心指数
6 点
信用等级
6 点
经验
4829 点
帖子
255
精华
0
在线时间
236 小时
注册时间
2013-10-10
最后登录
2021-11-24

楼主
海绵萧萧 发表于 2019-4-17 16:13:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
大家好,我初学stata,在书上看到generate的两处使用,不是很理解,咨询一下大家:

1) 书上有一处例子是:y是序数变量,其值是1 to 4. 现在生成一系列新二元变量y_lt2,y_lt3,y_lt4,命令是
generate y_lt2=y<2 if y<.  
generate y_lt3=y<3 if y<.
generate y_lt4=y<4 if y<.
我不明白为什么新变量等于号后面跟的是y<2?在我的理解里,gen后的新变量可以是运算或者函数,后面跟个y<2是什么含义?这个命令最后产生的结果是什么?


2)书上一处使用gen的命令如下:
generate isfac= (work==1) if work<.
此处是用来生成一个哑变量,我不解的是为何新变量isfac等于号后面跟着一个括号,这是对新变量的条件限制吗?如果是那为什么不写成:generate isfac=work if work==1等(这个命令不一定对,第一次写)


以上是我的两处不解,有了解的朋友麻烦看一下,多谢啦!
二维码

扫码加我 拉你入群

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

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

关键词:二元变量

回帖推荐

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

两个问题是一样的,的 y

沙发
黃河泉 在职认证  发表于 2019-4-17 18:32:04
两个问题是一样的,
  1. y_lt2=y<2
复制代码
的 y<2 (work==1) 是 logic 运算,若满足的话,则其值为 1,否则为 0。

藤椅
海绵萧萧 发表于 2019-4-18 09:44:45
黃河泉 发表于 2019-4-17 18:32
两个问题是一样的,的 y
感谢回复!

板凳
海绵萧萧 发表于 2019-4-18 09:45:48
此外我也查到一处对logical运算的讲解  https://www.stata.com/support/faqs/data-management/true-and-false/

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

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