查看原文
其他

Stata助力疫情打卡管理——是谁没有接龙呢?

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

本文作者:李婷婷,河南大学经济学院

本文编辑:温和铭

技术总编:李婷婷

Stata&Python云端课程来啦!

为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~原价2400元的Python编程培训课程,现在仅需100元,详情请查看推文《Python云端课程福利大放送!0基础也能学~》。关于Stata,爬虫俱乐部推出了系列课程,内容包括字符串函数、正则表达式、爬虫专题和文本分析,可以随心搭配,价格美丽,物超所值,更多信息可查看Stata系列推文《与春天有个约会,爬虫俱乐部重磅推出正则表达式网络课程!》《与春天有个约会,爬虫俱乐部重磅推出基本字符串函数网络课程》等。变的是价格,不变的是课程质量和答疑服务。对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦。


导读最近疫情又严重了起来,很多学校为了确保同学们的安全,经常会使用在微信群里接龙打卡的方式来了解大家的情况。但是这时候总是有些同学们,不是那么的自觉,经常会忘记参与微信接龙,使得老师和负责人们要进行核对未参与接龙的同学,如果班级里同学比较少还好说,但是如果一个班有几十位上百位同学,要一个个的核对他们是否参与接龙就是一件比较麻烦费时的工作了。

今天就来介绍一种使用Stata快速核对接龙学生名单的方法,帮助老师和负责人们省时省力。


#1 导入数据

假如8月13日A班级同学的接龙结果如下图所示,我们怎样能快速确定哪位同学没有按时参与接龙呢?

首先,我们需要将接龙结果导入到Stata中,这里我们介绍两种方式:第一种就是直接将微信群里的接龙结果复制到Stata的数据编辑器中;第二种是使用input命令将接龙结果导入到Stata中。

(1)直接将接龙结果复制到数据编辑器

第一步我们需要将Stata中原有的数据使用clear进行清除,然后直接打开Stata的数据编辑器,将从编号开始的接龙结果复制进去(注意要选择将第一行作为数据而不是变量名)。如下图所示:

之后,我们可以根据班级的接龙结果,进行一个初步的数据处理:
split var1, p(var1,"." " ")
keep var12 var13
rename (var12 var13) (姓名 信息)
save 接龙结果.dta, replace

经过一个简单的数据处理后,我们先将其保存为接龙结果.dta,以便之后进行信息核对。

(2)使用input命令将接龙结果导入Stata

在使用input命令时,我们需要将接龙信息复制下来,导入Stata,程序如下:

clear all
input 接龙编号 str10 姓名 str150 信息
1. 刘一 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
2. 陈二 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
3. 张三 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
4. 李四 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
5. 吴九 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
6. 孙七 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
7. 周八 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
8. 郑十 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
end
drop 接龙编号
save 接龙结果.dta, replace

这两种方法在将接龙结果读入Stata,并进行简单的数据处理后是相同的。如下图所示。


此时,我们已经有了接龙结果的dta数据,如果要想核对是否每位同学都参与了接龙,我们肯定要拥有一份班级里同学的完整名单,一般班级名单都为excel格式。假如,现在A班级的所有同学名单如下图所示:


首先我们需要将班级名单导入Stata中。程序如下:

import excel using "d:/A班学生名单.xlsx", firstrow clear 

//将第一行姓名作为变量名

将班级名单导入Stata后,数据如下图所示:



#2 核对名单
接下来,我们就可以使用merge命令对学生名单和之前已经保存的接龙结果根据姓名这一列进行匹配,以核对是否所有学生都进行了接龙。

merge 1:1 姓名 using 接龙结果.dta


如上图所示,我们就成功发现有两位同学没有参与当天的接龙。如果人数较多的话,我们可以只保留下没有匹配成功,即未参与接龙的同学。

drop if _merge==3
drop _m


这样就可以更直观的看到,今天没有接龙的同学有哪些。今天可要对王五同学和赵六同学提出批评了哦~

最后双手奉上完整程序(这里使用的是input命令读入接龙结果)

clear all
input 接龙编号 str10 姓名 str150 信息
1. 刘一 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
2. 陈二 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
3. 张三 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
4. 李四 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
5. 吴九 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
6. 孙七 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
7. 周八 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
8. 郑十 我和家中亲属无咳嗽无发热无外出无接触确诊和疑似病例已完成今日校园app信息
end
drop 接龙编号
save 接龙结果.dta,replace
import excel using A班学生名单,firstrow clear
merge 1:1 姓名 using 接龙结果.dta
drop if _merge==3
drop _m

如果班级人数很多的话,这样简单的程序就可以快速核对出没有参与接龙的“不自觉”同学啦,不需要一个个去进行核对。

最后,疫情防控当前,希望大家每个人都要积极配合学校的疫情防控管理工作,为老师们减少负担,也为自己负责!

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。

关注我们,订阅更多最新消息

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





往期推文推荐
        这十年,《金融研究》的编委和读者偏爱哪些研究话题和文章?

       【案例展示】Python与数据库交互

学好这一手,英语词典常在手 

玩转Stata中的数学函数

用spmap看中国空气质量

戳穿围城面具:安利&劝退一个专业

走进图文并茂的攻略世界 

玩转word文档“大变身”——wordconvert

数据读入|一文读懂用Stata读入不同类型的数据

简述递归

OpenCV库——轻松更换证件照背景色

800万年薪!还有谁?!

千古伤心词人,词伤几何?

去哪儿网攻略爬取——跟我一起去大理吧

"有你才有团"——Stata爬取王者荣耀英雄海报

爬虫实战|嚣张的徽州宴老板娘错在哪?

如何获取衡量股民情绪的指标?|东方财富股吧标题爬虫

利用Python构建马科维茨有效边界

rangestat,让统计量灵活滚动起来!

听说这样做立项成功率更高哦

如何处理缺失值?这一篇搞定!

善用dataex命令,高效沟通你我他

用Markdown制作简历,强力助力你的求职季

大数据下的大学分数线排行榜,快来围观!

《觉醒年代》—带你回到百年前

用Stata画的三维图很奇怪怎么办?

如何随机生成满足特定数据特征的新变量?

爬取无法翻页网页——自然科学基金项目及可视化

爬取京东评论数据进行情感分类

Stata与音乐之间的酷炫连接

这些年,爬虫俱乐部走出的博士们!
看这里,近五年各校高被引论文上榜名单!

关于我们 


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



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

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里

作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众
中提出,只需支付少量赏金,我们会在后期的推文里给予解答。




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

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