楼主: maohu2212
1249 5

[数据管理求助] STATA简单的变量生成问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

11%

还不是VIP/贵宾

-

威望
0
论坛币
465 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
208 点
帖子
12
精华
0
在线时间
62 小时
注册时间
2019-9-5
最后登录
2022-7-25

1论坛币
我希望生成一个新变量,它的值每六个月都是相同的。下面month1是已知变量,num是我想生成的效果,但苦于不知道如何操作STATA。注意 num其实是不存在的,这是我想要通过代码生成的结果!num的意义每六个月赋予相同的编号。
month1        num
2000m4        1
2000m5        1
2000m6        1
2000m7        1
2000m8        1
2000m9        1
2000m10        2
2000m11        2
2000m12        2
2001m1        2
2001m2        2
2001m3        2
2001m4        3
2001m5        3
2001m6        3
2001m7        3
2001m8        3
2001m9        3





最佳答案

欣心兰 查看完整内容

gen num = . gen n = _n replace num= 1 in 1 replace num= num[_n-6]+1 if mod(n,6) == 1 & n != 1 replace num= num[_n-1] if mod(n,6) != 1 drop n
关键词:Stata tata 变量生成 month mont STATA 变量生成
沙发
欣心兰 发表于 2020-5-24 08:52:56 |只看作者 |坛友微信交流群
maohu2212 发表于 2020-5-24 10:15
您好,我还有到一个问题,就是那个“2000m4”并不是字符串形式,而是我之前用gen和format生成的float。我 ...
gen num = .
gen n = _n
replace num= 1 in 1
replace num= num[_n-6]+1 if mod(n,6) == 1 & n != 1
replace num= num[_n-1] if mod(n,6) != 1
drop n

使用道具

藤椅
欣心兰 发表于 2020-5-24 09:27:48 |只看作者 |坛友微信交流群
楼主好,可以尝试:
gen n = _n
replace num= 1 if month1== "2000m4"
replace num= num[_n-6]+1 if mod(n,6) == 1 & var1 !="2000m4"
replace num= num[_n-1] if mod(n,6) != 1
drop n
供参考。

使用道具

板凳
maohu2212 学生认证  发表于 2020-5-24 10:04:07 |只看作者 |坛友微信交流群
欣心兰 发表于 2020-5-24 09:27
楼主好,可以尝试:
gen n = _n
replace num= 1 if month1== "2000m4"
你好,您可能没懂我的意思。那个num变量是我想要生生成的结果,而不是本来就有的。

使用道具

报纸
欣心兰 发表于 2020-5-24 10:11:36 |只看作者 |坛友微信交流群
maohu2212 发表于 2020-5-24 10:04
你好,您可能没懂我的意思。那个num变量是我想要生生成的结果,而不是本来就有的。
在仅有month1的情况下:
gen num = .
gen n = _n
replace num= 1 if month1== "2000m4"
replace num= num[_n-6]+1 if mod(n,6) == 1 & month1!="2000m4"
replace num= num[_n-1] if mod(n,6) != 1
drop n
这样就可以生成符合条件的num了
建议楼主试一试~

使用道具

地板
maohu2212 学生认证  发表于 2020-5-24 10:15:44 |只看作者 |坛友微信交流群
欣心兰 发表于 2020-5-24 10:11
在仅有month1的情况下:
gen num = .
gen n = _n
您好,我还有到一个问题,就是那个“2000m4”并不是字符串形式,而是我之前用gen和format生成的float。我发现去掉引号还是不行,不知道您有什么高见吗?

使用道具

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

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

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

GMT+8, 2024-5-1 17:28