分享:公开数据库 及 数据格式转换-R-Stata-Python
2023-10-21
孔亦泽
2082

连享会   主页 || 推文 || 知乎 || B 站 || 在线课堂

New! 搜推文,找资料,用 lianxh 命令:
安装: ssc install lianxh, replace
使用: lianxh 合成控制
       lianxh DID + 多期, w


作者:孔亦泽 (浙江大学)
邮箱kongyize@163.com

本文介绍了一些公共数据库及数据格式转化方式。

第一部分分享了 11 个常用数据库,不仅包括像 Kaggle、UCI 机器学习资料库和 data.gov 这样的大数据资料库,还包括一些能提供更小颗粒度、更具体化数据的小众宝藏数据库,可以帮助从事经济学、统计学、医学等研究领域的科研工作者获得更有针对性的研究数据。

第二部分提供了常用的数据格式转化方法,可以帮助数据库的使用者将某一特定格式的数据转化为需要的语言格式。由于下载的数据多为 R 可以识别的 rds 格式,本文提供了使用 Python 和 R 将 rds 格式的数据文件转换为 txtCSVdta 格式数据的代码,供读者参考。

1. 一些好用的公开数据库

1.1 Tidy Tuesday

Tidy Tuesday: https://github.com/rfordatascience/tidytuesday

Tidy Tuesday

Tidy Tuesday 不仅仅是 "一个数据存储库",更是一个完整的社区,最初由汤姆-莫克(Tom Mock)发起,旨在帮助人们提高使用 R 进行数据分析和可视化的技能。Tidy Tuesday 每周提供数据集和数据探索挑战,来自世界各地的数千名参与者分享他们的工作,提供反馈,并在项目上进行合作。

1.2 Data is plural

Data is plural: https://www.data-is-plural.com/

Data is plural

"Data is plural"是由杰里米-辛格-维恩(Jeremy Singer-Vine)出版的 "有用/有趣的数据集 "周刊。Data is Plural 的「时事通讯」每周都会直接向订阅者发送邮件,内容通常是经过精心策划的近期相关高质量数据集,涉及经济、体育、政治、科学等多个领域。

1.3 FlowingData

FlowingData: https://flowingdata.com/

FlowingData

尽管从技术上讲它并不是一个数据存储库,但 内森-丘 (Nathan Yau’s) 的 FlowingData 网站包含一系列详细的可视化内容,并对一系列有趣的数据集进行分析,而且提供其文章所依据的数据集作为参考资料。内森-丘还为有兴趣提高数据可视化和分析技能的读者提供了一系列课程。

1.4 FiveThirtyEight

FiveThirtyEight: https://data.fivethirtyeight.com/

FiveThirtyEight

FiveThirtyEight 最初是内特-西尔弗(Nate Silver)创建的一个博客,现在是一家大型新闻网站,他们在 github 上提供文章涉及到的数据副本。由于 FiveThirtyEight 最初关注的是政治民调和选举,他们的大部分数据都与政治和体育相关。

1.5 ProPublica

ProPublica: https://www.propublica.org/datastore/datasets

ProPublica

ProPublica 是一家非营利性新闻调查机构,免费提供大量数据集,高级会员费可提供更多数据集。

1.6 Inbuilt datasets in R

Inbuilt datasets in R: https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/00Index.html

Inbuilt datasets in R

R 为使用者提供了大量内置数据集,可以在 R 中键入 data() 查看 R 中可用的数据集列表

还有一些程辑包可以导入数据集及其函数,例如 ggplot2。用户可以使用 data() 函数中的 package 命令进行查看。

data(package = "ggplot2")

1.7 UCI Machine Learning repository

UCI Machine Learning repository: < https://archive.ics.uci.edu/ml/index.php>

UCI Machine Learning repository

UCI 机器学习资料库是一个由加州大学欧文分校机器学习小组维护的公共数据集资料库,包括生物学、金融学、社会科学和工程学等不同领域的数据。

1.8 Kaggle

Kaggle: https://www.kaggle.com/

Kaggle

Kaggle 最初是一个机器学习竞赛平台,现已成为了一个数据集库,这些数据集特别适合机器学习应用(过去所有挑战赛的数据集都可以从 Kaggle 网站下载)。

Google Dataset Search: https://datasetsearch.research.google.com/

Google Dataset Search

谷歌数据集搜索是一个专为查找数据集而设计的搜索引擎,可以用来访问各种来源和领域的数据集,包括研究出版物和政府数据库,对于寻找特定主题数据集的人来说是一个很好的资源。

1.10 Amazon Web Services Registry of Open Data

Amazon Web Services Registry of Open Data: < https://registry.opendata.aws/>

Amazon Web Services Registry of Open Data

网站服务提供了大量可用于研发项目的公共数据集,主要是医疗和环境数据集。这些数据集可使用亚马逊网络服务工具进行访问。

1.11 data.gov

data.gov: < https://data.gov/>

data.gov

data.gov 是一个政府拥有的在线平台,向公众提供来自美国不同联邦机构的大量数据集,其中包括人口数据、天气数据、环境数据和经济数据等。

2. 将 R 格式的数据转换为 Python/Stata 格式

2.1 使用 R 进行数据格式转化

A. R 格式 --> Python 格式

导成 txt 格式

write.table(dt, "mydata.txt", sep=",")

导成 csv 格式

write.table(dt, file="mydata.csv",sep=",",row.names=F)

B. R 格式 --> Stata 格式

导成 dta 格式需要加载额外的包

require(foreign)
write.dta(dt, "mydata.dta")

2.2 使用 Python 进行数据格式转化

2.2.1 R 格式 --> Python 格式

在不使用 R 的情况下,要用 Python 读取 R 格式的数据文件(如.RDS 或.rds)并在 Python 中使用,可以使用 pandas 库和 rpy2 库。首先,确保安装了这些库:

pip install pandas rpy2

然后使用以下代码读取 R 数据文件:

import pandas as pd  
# 读取 R 数据文件
from rpy2.robject import robject
ifile = "your_R_file.rds"  
# 将 R 数据转换为 pandas DataFrame 
Rdata = robject.r(f"load({ifile})")
df = pd.DataFrame(Rdata)
# 查看前 5 行数据  
print(df.head())

2.2.2 R 格式 --> Stata 格式

在不使用 R (甚至不安装 R) 的情况下,要将 R 格式的数据文件转换为 Stata 格式(如.dta),可以使用 Stata 库。首先,确保安装了此库:

pip install stata

然后可以使用以下代码将 R 数据文件转换为 Stata 格式:

import stata
# 读取 R 数据文件  
ifile = "your_R_file.rds"  
Rdata = stata.utils.import_rdata(ifile)
# 将 R 数据转换为 Stata 数据  
stata_data = Rdata.to_stata()
# 保存 Stata 数据到文件  
stata_data.save("your_stata_file.dta")

3. 参考资料

4. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 数据库
安装最新版 lianxh 命令:
ssc install lianxh, replace

资源共享


尊敬的老师 / 亲爱的同学们:
连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。
请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。
我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。more……
  • 扫码加入连享会微信群,提问交流更方便