frame框架进阶篇
本文作者:王子一 ,中南财经政法大学金融学院
本文编辑:刘子艳
技术总编:戴 雯
Stata&Python云端课程来啦!
好雨知时节,当春乃发生。为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》;关于Stata,爬虫俱乐部推出了系列课程,内容包括字符串函数、正则表达式、爬虫专题和文本分析,可以随心搭配,价格美丽,物超所值,更多信息可查看Stata系列推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》、《与春天有个约会,爬虫俱乐部重磅推出文本分析网络课程》。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦!友友们,又见面了。上回我们在《frame框架——我到底在哪个“房间”》这篇推文中介绍了frame框架的基础命令部分,今天我们继续为大家带来frame框架的应用,那我们开始吧,出发 👉
一、“巧妙”调用系列1调用当前框架中的变量或者观测值
我们在当前的框架调用数据集,并将数据集中的一部分信息复制到另一框架中去。这里我们使用到
frame put varlist, into(newframename)
命令,可以选择一定的变量复制到新的框架中去,整体示例如下:frame reset
sysuse auto
frame put make price mpg,into(auto1) //将变量复制到框架auto1中
frame put make foreign gear weight, into(auto2)
frame put if rep78 !=., into(auto3) //将rep78不是缺失值的观测值复制到框架auto3中
frame put if foreign, into(进口车)
frame put if ~foreign, into(国产车)
frame dir
clear all
sysuse auto, clear
frame copy default subtask //复制当前数据到新建框架subtask
frame change subtask //从default切换到新建框架subtask
sort price foreign
keep in 1/30 //修改了数据,只保留了前30个汽车数据
sum price if foreign == 1
return list //可以看到返回值r(mean) = 4117.143
frame change default //切换到default框架
gen dmpg = cond(price>`r(mean)',1,0) //生成一个变量dmpg,当price大于r(mean)时,dmpg为1,否则为0
frame drop subtask //在当前框架下删除subtask框架
order make price dmpg
br
在这里需要注意:虽然r(mean)是在框架subtask中通过sum price if foreign == 1得到的,但它实际上是储存于Stata内存之中,与框架无关。
二、框架下执行命令可用frame前缀frame前缀是可以允许您在另一框架中执行一个或多个Stata命令,而不改变当前框架。如果执行单个Stata命令,在冒号后接具体指令即可,而花括号内可输入多行Stata命令,frame前缀使得我们可以更灵活地对框架中的数据进行处理。示例如下:
frame reset //Stata将恢复到初始状态,即只有一个名为default的空白框架
mkf new //创建新的框架new
frame new:sysuse census,clear //执行单个Stata命令,可在冒号后接具体指令
frames new { //如果frame命令比较长,可以采用花括号的方式
summarize
describe
list state-pop18p in 1/3
}
frame
结果如下:三、保存框架中的数据集
保存命令很简单,save一下就可以,示例如下:
frame reset
clear
set obs 10
gen x1 = uniform()
gen x2 = uniform()
frame rename default simulation //重命名框架为simulation
frame simulation:save simulation.dta,replace //在框架下,保存框架数据集
frame dir //框架fr1前的星号消失,数据已被保存
这里我们还要提到一个小小知识点:
以上就是frame框架的基本应用啦,还有其他系列我们慢慢分享,友友们,我们下期再见~框架使Stata中preserve/restore运行得更快
在Stata16中,包含preserve/restore的程序会提高运行速度,因为Stata16是将数据复制并保存到隐藏的框架中去,那些隐藏框存储在Stata内存之中,而将数据复制到框架所需的时间,则比将数据复制到磁盘要短得多。
最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。
期待大家点赞、转发、关注呦~
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
下拉选择框如何变成“小猫咪” | selenium小技巧
Python中的运算符知多少?
快来get缺失值的正确打开方式
如何使用Pandas读取txt文件?
基于MySQL数据库实现增量式爬取
寻找春日气息|本月最受欢迎的景点都在这里!
问世间情为何物,大数据也想参悟——后考研时代,何以解忧?唯有数据!
Python与数据库交互—浅述pymysql
偷懒小妙招|selenium之玩转鼠标键盘操作--鼠标篇
大家用Stata来“找茬”
“粉墨登场”——多期双重差分法(DID)的Stata操作
Python与百度地图合璧,绘制棒呆的热力地图
【数据可视化】统计图绘制神器:Seaborn
检索Stata推文的“任意门”学会了这些,分分钟提升你的毕业体验【爬虫实战】双一流大学的月关注度
【爬虫实战】“中国人不吃这一套”——人民日报微博评论分析
进化的标签管理助手——elabel命令“学术明星”——双重差分法(DID)的Stata操作
偷懒小妙招| selenium之玩转鼠标键盘操作(上)【爬虫实战】南京地铁又上热榜——客流量分析
Stata中字符串的处理
我在哪里?调用高德API获取地址经纬度信息
关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。