查看原文
其他

frame框架——我到底在哪个“房间”

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:王子一,中南财经政法大学金融学院

本文编辑:刘子艳

技术总编:戴   雯

Stata&Python云端课程来啦!

     寒雪梅中尽,春风柳上归。为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》;原价600元的正则表达式课程,现在仅需49.9元,详情请查看推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》;原价600元的基本字符串函数课程,现在仅需49.9元,更多信息请查看推文《与春天有个约会,爬虫俱乐部重磅推出基本字符串函数网络课程;原价600元的网络爬虫课程,现在仅需49.9元,更多信息请查看推文《与春天有个约会,爬虫俱乐部重磅推出网络爬虫专题课程》原价600元的文本分析课程,现在仅需49.9元,更多信息请查看推文与春天有个约会,爬虫俱乐部重磅推出文本分析网络课程。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦
导 读官方介绍的Frame(Frames)命令,也可称为数据框,是在Stata16及之后的版本被引用的。Frames(又称为data frames)允许内存中装入多个数据,内存中的每个数据被装在一个框架中,最多可以建立100个框架。用户可以在不同的Frame之间进行切换,甚至可以将某个数据链接到其他数据框中的数据。好了,眼睛已经读完了,但是大脑说他并不懂,无奈😔~

不要失去信心,今天小编会从易于理解的角度为大家介绍frame框架。通俗的语言可以理解为,作为Stata的用户,就好比建设一栋大楼,我们可以选择只建1层,也可以选择建30层,我们一层可以建一间房间,也可以建十间房间,这叫做mkf。我们当前在默认的default房间工作,但我们善于归类,会选择将一些“内存”放到其他的房间,将另一些“内存”又放入另外的房间,并分别为他们命名,这些房间就是框架(frame)。我们可以通过frame dir看到这些房间的信息,通过pwf看到我们当前处在哪个房间。并且我们可以在需要的时候调用其他房间里的“内存”,或者直接在另一个房间进行工作,甚至我们可以合并两个房间(frlink)。所以说多框架会方便我们的工作,让工作更有条理更加便捷。

下面,我们进入frame的世界~
【定义】基本语法介绍
  • 显示框架中的信息

frame dir      
  • 查看当前框架(以下三条命令效果一致)

frame pwfframepwf
  • 创建一个新的框架(以下两条命令效果一致)

frame create newframenamemkf //是make frame的缩写
  • 创立一个新的框架、新的变量

frame create newframename newvarlist
  • 重命名框架

frame rename oldframename newframename
  • 将当前框架切换到另一框架(以下两条命令效果一致)

frame change framename cwf //是change working frame的缩写
  • 清除所有框架

frame reset //将Stata恢复到初始状态,即把内存中所有框架一次性删除

【应用】不同框架下导读数据集这里增加一个小的知识点:
Stata16中被调用的数据集会被自动加载到默认名为default的框架中。而我们的目标是创建一个新框架,在新框架里执行任务,再切换回默认的框架,并删除该新框架。
这里我们通过具体的例子,来体会在不同框架下导入数据集的操作方法:

1.显示框架信息

示例代码:

clear allsysuse cancer, clear frame dir //显示内存中已有的框架信息
这里显示的框架为系统默认的框架default,调用的数据集也默认储存在default框架中,通过frame dir可以显示内存中储存的数据信息



2.创立新框架示例代码:
frame create new //新建一个名为new的框架frame change new //将当前框架切换到new框架 ,也可以用cwf newsysuse auto //在当前框架下加载auto数据frame //查看当前框架是哪一个,也可以用 frame pwfframe dir      //查看内存中所有的数据框架
这里完成了我们的目标任务,创建一个新的框架,并在新的框架里调用数据集,通过 frame dir显示内存中的数据信息,相较于上一个frame dir,这里的信息多了一个新框架new的信息。



3.重命名框架
frame rename default one //重命名default框架为one框架frame rename new two //重命名new框架为two框架frame dir这里我们将默认的框架重新命名为one,将new框架命名为two,结果如下:

大家可以看到one框架和two框架中的信息与上图的default框架和new框架一模一样。

4.切换&删除框架示例如下:
frame //查看当前框架是哪一个frame change one //将当前框架切换到框架oneframe drop two //删除框架twoframe dir
这里我们将框架从框架two(原为new框架)切换到框架one(原为default框架),并删除two框架,这里的frame dir显示当前只剩下one框架。

注意:
  1. 在不做特殊规定的情况下,各项命令都是对当前工作框架中的数据进行处理;

  2. 删除框架时,不能删除当前使用的框架,否则会报错;

  3. 如若想要删除某个框架,而它恰好当前正在被使用,那么必须先利用frame change或者cwf(change working frame)切换工作框架,再通过frame drop进行删除。

如果想把内存中所有框架一次性删除,可以使用frame reset:
frame reset //Stata将恢复到初始状态,即只有一个名为default的空白框架clear frames //不能写成clear frame,删除某个框架使用frame drop即可frame dir


在此提醒大家,用frame reset命令清空内存中的框架后,只剩下系统自带的框架default,且里面的数据为空,所以使用一定要慎重!!以上就是框架理论的基本命令介绍啦~其实,关于frame框架,无非就是弄清楚:现在有几个“房间”?“我”在哪个“房间”?如何从一个“房间”进入到另一个”房间“?如何丢弃不需要的“房间”?等等。就像使用excel时我们会在一张表里建立多个sheet,并在不同的sheet中输入相应的内容一样,frame框架的提出会让我们更有效率、也更随性地使用Stata。
下一篇推文中,我们会继续介绍关于frame框架更高阶的应用,让大家多多感受frame框架的好处,大家尽请期待。那么,各位亲,不要忘记点赞、转发、关注噢~
最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。

港股

沪深证券

欢迎大家点赞、转发、评论噢~

对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!

往期推文推荐

如何使用Pandas读取txt文件?

基于MySQL数据库实现增量式爬取

寻找春日气息|本月最受欢迎的景点都在这里!

问世间情为何物,大数据也想参悟——后考研时代,何以解忧?唯有数据!

Python与数据库交互—浅述pymysql

偷懒小妙招|selenium之玩转鼠标键盘操作--鼠标篇

大家用Stata来“找茬”

“粉墨登场”——多期双重差分法(DID)的Stata操作

Python与百度地图合璧,绘制棒呆的热力地图

【数据可视化】统计图绘制神器:Seaborn

检索Stata推文的“任意门”学会了这些,分分钟提升你的毕业体验

【爬虫实战】双一流大学的月关注度

【爬虫实战】“中国人不吃这一套”——人民日报微博评论分析

进化的标签管理助手——elabel命令

“学术明星”——双重差分法(DID)的Stata操作

偷懒小妙招| selenium之玩转鼠标键盘操作(上)

【爬虫实战】南京地铁又上热榜——客流量分析

renfiles:批量重命名文件的利器

Stata中字符串的处理

物以类聚——浅述k-means聚类算法

我在哪里?调用高德API获取地址经纬度信息

超级简单的条件函数,轻松生成虚拟变量

Python云端课程福利大放送!0基础也能学~

【爬虫实战】“我们,继续新故事”——爬取LOL英雄皮肤

“人像动漫化”—Python实现抖音特效

关于我们 


微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存