本讲义介绍如何使用 Stata + R 混合方案测算各城市的技术集群指标(技术关联性 link_c 和技术多样性 diver_c),方法参考自冉征等(2025)《技术集群结构与颠覆式创新》一文。
混合方案说明:Stata 处理字符串拆分(特别是变长多值字段)效率远低于 R,因此本方案将 IPC 小类展开步骤交由 R 完成:
| 步骤 | 工具 | 任务 |
|---|---|---|
| Step 1A | Stata | 读取 CSV、去重、保存 patent_merged.csv |
| Step 1B | R (Rscript) |
展开 IPC 小类、保存 patent_ipc.csv |
| Step 2+ | Stata | 读取 patent_ipc.csv,计算 RTCA / diver_c / link_c |
核心技术联系矩阵 phi_matrix.dta 由 R 语言版本的课程提供(phi_matrix.rds → phi_matrix.dta),在 Stata 中通过 use 命令直接读取使用,无需重新计算。
重要提示:Stata 不直接读取
.rds文件,附件中已使用 R 将phi_matrix.rds转换为phi_matrix.dta。转换代码:
library(haven)
phi <- readRDS("phi_matrix.rds")
write_dta(phi, "phi_matrix.dta", version = 14)
一、指标来源与计算原理
1.1 显性技术比较优势(RTCA)
![]()
1.2 技术多样性(diver_c)
![]()
1.3 技术关联性(link_c)
![]()
二、数据读取与预处理
以下代码对应 计算技术关联性与多样性.do 脚本,以 2010–2012 年为例演示完整计算过程。运行前需设置工作目录,并确保系统已安装 R(供 shell 命令调用 Rscript):
*- ── 设置工作目录 ── |
2.1 Step 1:读取并去重专利数据
关键命令说明:
- import delimited:读取 CSV 文件,stringcols(_all) 将所有列读为字符串(避免科学计数法)
- duplicates drop:按指定键去重
- ustrregexra():Unicode 正则替换,等价于 R 的 str_replace_all()
*- ── 读取 2010 年数据 ── |
去重规则说明:
- 先清洗公开公告号末尾的字母(如 CN12345A → CN12345)
- 按「市代码 + 年份 + 公开公告号_clean」去重
- 再按「市代码 + 年份 + 申请号」去重
2.2 Step 1B(R):展开 IPC 小类
Stata 的 split + reshape long 处理字符串效率较低,对于数十万条含多值 IPC 的专利记录尤为明显。因此本方案在 Stata 内通过 shell 命令调用 Rscript,将 IPC 展开工作交给 R 完成,再将结果写回为 patent_ipc.dta 供 Stata 继续处理。
Stata 调用方式(.do 文件中的核心逻辑):
这个需要根据自己的电脑选择方式运行,这里仅展示我的电脑上运行的方式,或者也可以直接打开 R 语言或者 RStudio 运行这个 R 脚本。
*- 直接调用项目根目录下的独立 R 脚本 |
独立 R 脚本 expand_ipc.R(位于项目根目录,可直接运行和修改):
此处代码需下载讲义材料查看~
关键命令对照表(IPC 展开):
| 语言 | 方法 | 耗时(参考) |
|---|---|---|
| R(本方案) | str_split() + data.table 展开 |
快,~30秒 |
| Stata(原生方案) | split + reshape long |
慢,数分钟 |
三、技术联系矩阵与指标计算
3.1 Step 2:读取技术联系矩阵 Φ
use "`PHI_DTA'", clear |
重要说明:phi_matrix.dta 由 R 语言版本课程提供的 phi_matrix.rds 转换而来,使用 1985–2022 全样本专利引用关系构建。
3.2 Step 3:逐年计算 RTCA、diver_c、link_c
Step 1B 结束后,先一次性将 patent_ipc.csv 按年份拆分存为逐年 dta,循环里直接 use(避免每年重复 import 全量 283 万行 CSV):
import delimited using "`TMP_DIR'/patent_ipc.csv", clear stringcols(_all) varnames(1) |
*- ── 以 2010 年为例 ── |
*- 城市内所有 (ipc_citing, ipc_cited) 对的交叉产品 |
3.3 Step 4:汇总输出
*- 合并历年结果(从中间数据文件夹读取) |
点击这里跳转到 RStata 短书平台获取附件:名师讲堂|使用 Stata 测算各城市技术集群指标
评论