楼主: 假大胜
7473 3

[数据管理求助] 怎么根据一个变量的内容提取对应变量的值? [推广有奖]

  • 0关注
  • 0粉丝

高中生

72%

还不是VIP/贵宾

-

威望
0
论坛币
216 个
通用积分
34.4668
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
259 点
帖子
5
精华
0
在线时间
63 小时
注册时间
2016-12-24
最后登录
2022-11-21

楼主
假大胜 发表于 2018-2-28 14:18:06 |AI写论文
20论坛币
变量名为code_1, code_2, code_3, ..., code_6, code, base;其中code的取值范围是1到10,我想把base和code_n的值连起来,n值为同一行code的取值。比如说:
code_1 code_2 code_3 code_4 code_5 code_6  code base
1              2          3             4          5          6          3      56
2              4          2             2          2          9          1        2

想生成一个新变量base_code,它的值为
base_code
59 (base+code_3)
4 (base+code_1)

自己是用python的,可以用locals来动态生成变量从而提取数值,stata不知道怎么做?

刚学stata,有很多不懂,希望大神解答,谢谢!

关键词:LOCALS python Stata Local code

回帖推荐

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

尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769, https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html。

沙发
假大胜 发表于 2018-2-28 14:41:55
搞出来了,自己过来答一波:
gen tmp=.
forvalues i=1/_N{
local v=code[`i']
replace tmp=code_[`v'] if _n==`i'
}
不过感觉这样的代码有些丑,应该会有更优解,所以还是希望有大神能解决一下。

藤椅
黃河泉 在职认证  发表于 2018-2-28 17:10:49
尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

板凳
假大胜 发表于 2018-2-28 20:05:29
谢谢建议。数据如下:
input code_1 code_2 code_3 code_4 code_5 code_6  code base
1 2 3 4 5 6 3 56
2 4 2 2 2 9 1 2
end

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

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