Stata 预览
简体中文 | English
无需离开编辑器,即可在 VSCode 中打开 Stata 格式的 .dta 文件,并以表格形式预览文件内容。
插件开发初衷
处理 .dta 文件时,我们往往需要切换到 Stata 软件,仅为了查看变量、核对标签、筛选行数据,或对单个变量做快速频次分析。
本插件专为这类轻量需求设计:
- 打开数据集文件
- 梳理数据结构
- 查看行数据详情
- 快速筛选、排序数据
- 核对变量标签与值标签
- 对单个变量快速生成频次表或描述性统计
- 将当前查看结果导出为通用表格文件
插件并非要替代 Stata,而是为了在编辑器中实现数据的快速查看、轻量化探索与核验。
核心功能
已实现功能
- 以只读表格视图打开 .dta 文件
- 加载数据时展示进度,直观反馈加载状态
- 支持分页加载,适配大容量数据集
- 支持类 Stata 表达式筛选行数据,可使用中文等 Unicode 变量名
- 支持括号、算术运算、缺失值判断、集合/区间判断、字符串函数、正则匹配和日期函数
- 支持单列排序、Shift + 点击多列组合排序
- 支持拖拽列头右侧手柄调整列宽
- 支持列头右键菜单,可复制变量名/标签、排序、隐藏列、重置列宽和打开变量统计
- 显示变量标签与值标签
- 可通过侧边栏隐藏 / 显示指定列
- 内置变量探索器:支持单变量频次分析、描述性统计
- 支持将当前表格视图导出为 CSV 或 Excel
- 内置文件信息弹窗,可查看路径、大小、更新时间、Stata 版本、行数和变量数
- 内置使用说明弹窗,快速查看筛选表达式和表格操作说明
- 底层文件更新时,自动刷新视图
暂不支持的功能
- 不提供数据编辑能力
- 不支持将修改内容写回 .dta 文件
- 无法替代 Stata 完成模型估计、脚本编写或全流程数据管理工作
使用指南
表格视图操作
- 点击 .dta 文件即可直接打开
- 通过顶部工具栏输入条件筛选行数据
- 点击列标题实现排序;按住 Shift 点击多个列标题可进行多列排序
- 拖拽列标题右侧手柄可调整列宽
- 右键点击列标题可打开列操作菜单
- 侧边栏支持搜索变量,并可隐藏 / 显示指定列
- 工具栏可打开文件信息、使用说明,也可刷新或导出数据
数据筛选
筛选框支持基于变量的表达式。变量名可直接书写,包括中文变量名。
常见语法:
- 比较运算:
==、!=、~=、<、<=、>、>=
- 逻辑运算:
&、|、!,也支持 and、or、not
- 算术运算:
+、-、*、/、^
- 分组:使用括号控制优先级
- 辅助函数:
missing()、inlist()、inrange()、contains()、strpos()、regexm()、lower()、upper()、trim()、length()、year()、month()、day()
示例:
edad > 30(年龄大于 30)
treatment == 1(处理组为 1)
edad > 30 & treatment == 1(年龄大于 30 且处理组为 1)
(year >= 2020 & year <= 2024) | missing(year)(年份在区间内,或年份缺失)
inlist(city, "昆明市", "大理市")(城市在指定集合中)
contains(城市名称, "市")(中文变量名筛选)
regexm(code, "^[0-9]+$")(正则匹配)
lower(trim(name)) == "abc"(字符串标准化后比较)
year(date) == 2024(按日期年份筛选)
若表达式格式错误,查看器会在筛选框下方提示错误信息,而非静默失效。
数据排序
- 单击列标题:升序排列
- 再次单击:降序排列
- 第三次单击:清除排序
- 按住 Shift 点击列标题:追加或切换多列排序
列头右键菜单
右键点击列标题可以快速执行列相关操作:
- 复制变量名或变量标签
- 升序/降序排序,或清除当前列排序
- 隐藏当前列,或仅显示当前列
- 重置当前列宽
- 打开当前变量统计
数据导出
工具栏下载按钮支持将当前表格视图导出为:
导出内容会保留当前筛选结果、排序顺序和可见列配置。隐藏列不会被导出。
变量探索器
针对每个变量,探索器可实现:
- 对分类变量 / 带标签变量生成频次表
- 对数值变量生成描述性统计
- 支持为频次分析单独设置筛选条件
- 可将频次分析的筛选条件与全局表格筛选条件叠加使用
- 支持 strL 等长文本变量的解析与统计
适用场景
- 无需打开 Stata,即可核验研究仓库中的数据集
- 检查生成的 .dta 文件是否符合预期
- 查看标签、编码变量及值标签映射关系
- 对导出的数据做快速质量核验(QA)
- 编写代码、文档或分析脚本时,同步探索数据内容
- 将筛选后的当前视图导出给同事、文档或后续工具使用
性能说明
- 插件支持大容量文件,但解析速度仍受文件大小和可用内存影响
- 为优化查看体验,插件采用分页渲染方式,而非一次性加载所有数据
- 筛选、排序、分页、统计与导出均基于扩展宿主中的列式数据视图处理
来源与许可证
本项目基于 dmenares93/stata-viewer 二次开发,原项目采用 MIT License。
本项目继续以 MIT License 发布。上游项目中保留的代码版权归原作者 Diego Menares 所有;本项目新增和修改部分版权归 LiuQi 所有。完整版权声明与许可条款见 LICENSE。
Stata 是 StataCorp LLC 的商标。本项目为独立开源项目,与 StataCorp LLC 无隶属、赞助或认可关系。
| |