经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
计量经济学与统计论坛 五区
›
计量经济学与统计软件
›
Stata专版
求助,stata循环生成变量的编程问题
楼主
wudizhao
15031
6
收藏
2015-03-16
请教论坛里的各位大牛们,我现在想做这样一个事情。我的数据库里有一列省份数据,我想对每个省份进行循环,如果有这个省份,我就按相应的代码生成省份虚拟变量。举个例子,我想设置一个字符串数组,里面有“北京 天津 重庆”,另外一个代码数组,里面对应“BJ TJ CQ”,如果province变量数据中包含“北京”,我就生成变量名为province_BJ的虚拟变量,其中省份包含“北京”的全为1,其他都为0。我大致写了一下程序,运行出来不正确,请大家帮忙改一下程序,多谢各位了!!我写的程序如下:
local vars "北京 天津 重庆"
local vars1 "BJ TJ CQ"
foreach v of local vars{
if strpos(province,"v")>0 {
gen province+"_"+vars1[v.i] = 0
replace province+"_"+vars1[v.i] =1 if strpos(province,"v")>0
}
}
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
wudizhao
2015-3-16 20:44:45
自己顶,谁能帮我一下哈
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
天仕
2015-3-17 14:06:22
这位兄弟似乎是编程出身的。
你可以试试下面这个程序:
local vars "北京 天津 重庆"
local vars1 "BJ TJ CQ"
local i = 0
foreach v in `vars' {
di "`v'"
local i = `i' + 1
cap drop count_`i'
g count_`i' = (strpos(province,"`v'")>0)
list count_`i'
}
local i = 0
foreach v in `vars1' {
di "`v'"
local i = `i' + 1
cap drop province_`v'
count if count_`i' != 0
if r(N) > 0 g province_`v' = count_`i'
}
事实上,在stata里面我更喜欢直接用stata现成的命令
tabulate province, generate(pro_dummy)
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
wudizhao
2015-3-17 16:28:22
天仕 发表于 2015-3-17 14:06
这位兄弟似乎是编程出身的。
你可以试试下面这个程序:
谢谢兄弟!!是这样兄弟,我为什么不用stata现成的命令,是因为我的省份里面有很多乱七八糟的字符,比如0000,----,aaaa 这种。我用tabulate试过,结果出来190个虚拟变量,但实际上省份虚拟变量也就只有三十多个。其他乱七八糟的那些字符我不知道该怎么处理,所以想自己编程把他写出来。你真是热心,再一次感谢你,希望可以和你多多交流!
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
报纸
wudizhao
2015-3-17 17:08:48
天仕 发表于 2015-3-17 14:06
这位兄弟似乎是编程出身的。
你可以试试下面这个程序:
兄弟,请问里面的r(N)是什么意思?
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
地板
天仕
2015-3-18 13:04:37
count就是数符合条件的样本数,r(N)就是数出来的结果。
你可以看 help count 最后一行。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
点击查看更多内容…
7楼
彭揽策
2018-1-21 14:11:43
天仕 发表于 2015-3-17 14:06
这位兄弟似乎是编程出身的。
你可以试试下面这个程序:
你好,请问一下使用tabulate 显示too many values 该怎么办呢
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
请教stata如何统计tab个数
如何利用STATA生成变量滞后期的数据
stata中能否生成变量的公式
stata自动生成变量 __000006
stata 计数问题
stata循环计算生成变量求助 急!
stata可以做到这些吗?
如何保留一段时间内持续为1和0的样本?
stata如何依据省份这一变量(例如北京)将两张表合并
STATA中如何以某一变量的数值为依据,插入另一个变量的多个数据?
栏目导航
Stata专版
经管文库(原现金交易版)
能源经济学
行业分析报告
计量经济学与统计软件
Excel
热门文章
Business Research Methods 14th Edition b ...
Probabilistic Data-Driven Modeling by To ...
JPE最新录用文献
如盈财女:11.1下周黄金、原油行情趋势分析 ...
2025深圳500强企业发展报告
太原2022年统计年鉴
这些提问经济学家,考古学家,文字学家解释 ...
共同基金常识
这些提问经济学家,考古学家,文字学家解释 ...
秩序战胜混沌:等效率原则如何破解可重入系 ...
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
几种免费下载文献的方法----我的文献应助经
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群