首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >批次处理数据文件:以STATA和MATLAB为例

批次处理数据文件:以STATA和MATLAB为例

作者头像
宋彦
发布于 2020-03-18 03:18:11
发布于 2020-03-18 03:18:11
1.6K00
代码可运行
举报
文章被收录于专栏:一点ECON一点ECON
运行总次数:0
代码可运行

在实证工作中,经常要对原始数据进行清洗,合并等工作后,才能开始使用统计软件进行分析工作。批次处理数据文件能提高效率和结果的可复制性。

而批次处理需要解决的难点包括: 找到所有符合要求的原始数据文件,以及保存计算结果。这篇短文讨论如何使用STATA和Matlab解决这两点。

STATA批次处理数据

首先,用input 命令生成需要处理的原始数据,便于复制下面的步骤。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    cd "/Users/Dropbox/project/"

    clear
    input str30(contentvar1)
     `"this is some text"'
     `"this is more text"'
    end
    outfile using id1_date1_form1.txt , replace wide noquote

    clear
    input str30(contentvar1)
     `"even more text is here"'
     `"this is even "quoted" text"'
    end
    outfile using id2_date1_form1.txt , replace wide noquote
    clear
  • 经过上一步,需要处理的数据文件是在project文件夹下所有文件名内包括id*的txt文档。使用local extended functions中的 dir 命令,可以将所有符合条件的文件名称保存在一个指定的Local里面。
  • 使用循环语句foreach对符合条件的文档进行批次处理。
  • 在批次处理过程中,使用subinstr函数把文件后缀从.txt换成.dta格式,便于保存。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    local filenames: dir . files "*.txt"
    foreach i of local filenames{
        import delimited using `i', encoding(ISO-8859-1) clear
        ** necessary calculations
        local i_out = subinstr("`i'",".txt",".dta",.)
        save "`i_out'", replace
        }

Matlab方法

Matlab提供的函数和支持数据格式更加丰富,但背后的逻辑和前文提到的基本类似。

  • 第一步都是需要将符合条件的文件的信息保存下来。不同的是,Matlab 中的dir函数,例如dir('*.csv'),会把所有符合'.csv'的数据文件保存成一个struct_array。在Matlab里,Struct_array是功能非常丰富的一种数据格式。它既有array的特点,可以通过positional index来储存数据,而每一个数据都类似于一个字典,有key和value。
  • 第二步,使用循环语句调用struct_array中存储的文件进行批量运算。使用fullfile 和 fileparts两个函数把读取的数据文件中的信息保存到有相应名称的.mat文档中。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
theFiles = dir(filePattern);
for k = 1 : length(theFiles)
    baseFileName = theFiles(k).name;
    fullFileName = fullfile(data_path, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
    sample = csvread(fullFileName,1,0);

    [filepath,name,ext]=fileparts(fullFileName);
    mat_name =strcat(name,'.mat');
    mat = fullfile(filepath,mat_name);
    save(mat,'params_estimates','se_estimates','fval_estimates');
end
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点ECON 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
matlab常用目录操作
总结matlab下常用到的目录操作 添加当前文件夹及其子文件夹至搜索路径 % add path rootDir = fileparts(mfilename('fullpath')); addpath(genpath(rootDir)); cd(rootDir); 函数 参数 说明 mfilename mfilename('fullpath') 生成当前文件所在的完整目录,包括文件名 fileparts [pathstr,name,ext]= fileparts(filename) 文件完整目录分割成目录、文
李拜六不开鑫
2018/09/04
6070
基于深度学习的车辆检测系统(MATLAB代码,含GUI界面)
摘要:当前深度学习在目标检测领域的影响日益显著,本文主要基于深度学习的目标检测算法实现车辆检测,为大家介绍如何利用 M A T L A B \color{#4285f4}{M}\color{#ea4335}{A}\color{#fbbc05}{T}\color{#4285f4}{L}\color{#34a853}{A}\color{#ea4335}{B} MATLAB设计一个车辆检测系统的软件,通过自行搭建YOLO网络并利用自定义的数据集进行训练、验证模型,最终实现系统可选取图片或视频进行检测、标注,以及结果的实时显示和保存。其中,GUI界面利用最新的MATLAB APP设计工具开发设计完成,算法部分选择时下实用的YOLO v2/v3网络,通过BDD100K数据集进行训练、测试检测器效果。本文提供项目所有涉及到的程序代码、数据集等文件,完整资源文件请转至文末的下载链接,本博文目录如下:
全栈程序员站长
2022/11/03
1.1K0
基于深度学习的车辆检测系统(MATLAB代码,含GUI界面)
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
通过采用图像处理技术,可以将数码设备采 集到的文字、图片等信息转化成其他信息形势输出,例如转化成音频输出己解决视 障患者的视力需求。但是,由于输入设备或某些其他因素不可避免地使得采集到的 文本图像或多或少会出现某种程度的倾斜。因此,倾斜图像校正是当前文本图像研 宄领域中十分重要的课题,尤其在数字化、自动化领域。比如,提高OCR(Optical Character Recognition)识别率从而提高文档自动化处理效率,车牌号码自动 识别与交通监视,手写体自动识别,名片自动归类等。
拓端
2020/07/10
2.4K0
使用python读取matlab数据文件.mat
传送门 http://blog.stackoverflow.club/hdf5-usage/
羽翰尘
2019/11/19
2.6K0
MATLAB图像倾斜校正算法实现:图像倾斜角检测及校正|附代码数据
在本文中,随着多媒体技术的不断发展,数码相机,高清拍照手机等多媒体设备己经在人们的生活中占据了越来越重要的地位 ( 点击文末“阅读原文”获取完整代码数据******** ) 。
拓端
2022/11/14
1.3K0
两分钟搞定Python读取matlab的.mat数据
Matlab是学术界非常受欢迎的科学计算平台,matlab提供强大的数据计算以及仿真功能。在Matlab中数据集通常保存为.mat格式。那么如果我们想要在Python中加载.mat数据应该怎么办呢?所以今天就给大家分享一个使用python加载.mat数据的方法。我将使用Stanford Cars Dataset数据集作为例子为大家演示使用方法。
深度学习与Python
2019/06/18
15.3K2
Stata | 批量转换数据格式
如果有一批其他格式的数据,如 Excel,CSV 等,如何批量转为 Stata 的 .dta 格式数据?
PyStaData
2021/03/23
3.9K0
MATLAB实现HANTS时间序列滤波
  本文介绍在MATLAB中,实现基于HANTS算法(时间序列谐波分析法)的长时间序列数据去噪、重建、填补的详细方法。
疯狂学习GIS
2023/09/06
4670
MATLAB实现HANTS时间序列滤波
基于Matlab的三维人脸识别系统开发
在过去的十年中已经提出了几种用于图像处理和计算机视觉应用的机器学习算法。LBP,HAAR是一些流行的算法,广泛用于人脸识别并产生出色的结果。但是大多数这些算法不适合在无约束环境中进行实时识别。最近最先进的深度学习技术已经成为传统机器学习算法的新宠。人脸识别应用程序使用的图像只是范围(0-255)中像素值的组合。算法在那些灰度值中找到区别模式并将其视为被认为对于每个图像唯一的特征。然而在3D图像中,不存在像素信息,而是仅每个点的位置(x,y,z)可用。
代码医生工作室
2019/07/05
1.9K0
基于Matlab的三维人脸识别系统开发
Matlab数据导入--importdata和load函数
在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata函数,另一个是load函数,它们的使用方法和使用场景是太相同的,如果不太注意就可能会犯错误,在这里做简要的说明和记录。
用户9925864
2022/07/27
1.2K0
Matlab数据导入--importdata和load函数
Matlab系列之通用命令
对于以下列出的MATLAB的通用命令操作都比较简单,也是在操作过程中经常会需要用到的命令,在命令行窗口的“>>”之后输入命令以及命令所需的变量即可使用,对于不知道使用的命令,可以直接使用help以获取详细的用法。
狂人V
2020/06/28
6740
MATLAB使用教程(1)从零开始,MATLAB 2023a中文版下载安装
Matlab 是一种强大的数学软件,广泛应用于工程、科学和金融等领域。它提供了各种工具箱和函数,可以用于数据分析、图像处理、机器学习等方面。在本文中,我将介绍 Matlab 软件的一些常用功能使用技巧,并结合实际案例进行举例讲解,帮助读者更好地掌握 Matlab 的使用技巧。
用户10565111
2023/05/13
8570
Python - 读写 Matlab Mat 格式数据
如果 matlab 保存 data 时,采用的是 ‘-v7.3’,scipy.io.loadmat函数加载数据会出现错误:
AIHGF
2019/02/18
4.9K0
MATLAB画图语句_excel绘图技巧
Matlab作出的图普遍没有Origin作出的美观好看,而且导出为eps或emf格式后会有各种奇怪的Bug。目前普遍采用的一种方法是,将Matlab数据导出为mat文件后再导入Origin中手工作图,这种方式需要不少重复性劳动,并不是一种很完美的解决方案。 前几天偶然看到Origin提供了COM接口可供Matlab调用,于是就研究了下可否用Matlab调用Origin来生成所需的emf格式图片,最终经过一番折腾,基本完成了这个目标。
全栈程序员站长
2022/09/29
9300
MATLAB画图语句_excel绘图技巧
Matlab图像处理常用基本函数
之前用Matlab做图像处理工作时,用到什么函数就查什么函数,从没做过系统的总结,再做的时候又要去查,所以总结还是有必要的~
李拜六不开鑫
2018/10/11
1.4K0
Stata | 自动生成中南财大2019拟录取硕士研究生分析报告
又是一年考研季,今天有朋友问我去年的学校录取情况。作为一只“菜狗”,这那是我该操心的事,但我还是去官网找了下去年的结果。然而官网上拟录取名单是 PDF 格式,不方便拿来做统计分析,所以就用 Stata 顺手做了一些简单的分析工作,觉得这也为需要提供重复性报告的工作提供一种思路。具体来说,主要包括如下技术要点:
PyStaData
2020/07/21
1K0
Stata | 自动生成中南财大2019拟录取硕士研究生分析报告
【Matlab】加载路径下所有指定文件
想用matlab加载路径下所有指定文件,比如加载一个路径下的所有png图像、txt文件等,网上查了一圈也不是很好用,解决了问题就分享一下。
AomanHao
2024/08/07
3240
matlab批量处理excel(CSV)文件数据
今天是2019-1-29,参加完2019年美国大学生数学建模竞赛,小伙伴都回家了,就我一个人在寝室,太无聊了,就把在比赛中遇到的excel批处理,写一下思路(ps:其实我在比赛中 利用的是SQLServer数据库和matlab相结合的数据处理方法,但是一般情况下遇到的都是matlab对excel数据批处理,所以降低要求写了matlab对excel数据批处理,此思路都是小编凭感觉自己摸索出来的,如有错误欢迎指出)。
全栈程序员站长
2022/09/14
1.2K0
matlab批量处理excel(CSV)文件数据
Matlab实现数据导出
MATLAB 允许你使用数据在另一个应用程序读取 ASCII 文件,MATLAB提供了多种数据输出选项。
用户9925864
2022/07/27
1.1K0
Matlab实现数据导出
stata 导出 相关系数表_STATA数据处理技巧与计量分析二|基本语句介绍
上期小统和大家一起了解了STATA数据处理技巧与计量分析的背景介绍,这期小统和大家一起学习一下基本语句介绍。
全栈程序员站长
2022/07/04
1.6K0
stata 导出 相关系数表_STATA数据处理技巧与计量分析二|基本语句介绍
推荐阅读
相关推荐
matlab常用目录操作
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档