在使用Stata进行数据分析时,你可能会遇到“conformability error”错误。该错误通常表示矩阵的维度不匹配。以下提供了一个常见的Stata代码示例,以及解决该错误的步骤:

matrix result = J(5, 5, 0)
* 创建一个空的结果矩阵
forvalues year=2017/2021{
	//dis `year'
	count if 注册成立年份==`year'
	local count = r(N)
	* 将结果存储到结果矩阵中
    matrix result[`year', `year'-2016] = `count'
}
* 导出结果矩阵到Excel表格
putexcel set "/Users/Chen/Downloads/项目:产业根值性\结果2.xlsx", sheet("Sheet1") replace
* 写入结果矩阵到Excel表格
putexcel A1=matrix(result)
* 关闭Excel文件
putexcel close

错误原因:

在上面的代码中,错误可能出现在以下这行代码:

matrix result[`year', `year'-2016] = `count'

这行代码尝试将count'的值存储到result'矩阵中的特定位置。然而,由于result'矩阵是一个5x5的矩阵,而year'的值是从2017到2021的整数,所以矩阵的维度不匹配。

解决方法:

  1. 调整矩阵大小: 将`result'矩阵的大小调整为5x6,以便能够存储所有的结果。修改代码如下:
matrix result = J(5, 6, 0)
  1. 调整存储位置: 将结果存储到正确的矩阵位置。修改代码如下:
matrix result[`year', `year'-2016+1] = `count'

修改后的完整代码:

matrix result = J(5, 6, 0)
* 创建一个空的结果矩阵
forvalues year=2017/2021{
	//dis `year'
	count if 注册成立年份==`year'
	local count = r(N)
	* 将结果存储到结果矩阵中
    matrix result[`year', `year'-2016+1] = `count'
}
* 导出结果矩阵到Excel表格
putexcel set "/Users/Chen/Downloads/项目:产业根值性\结果2.xlsx", sheet("Sheet1") replace
* 写入结果矩阵到Excel表格
putexcel A1=matrix(result)
* 关闭Excel文件
putexcel close

通过这些修改,你就可以成功运行程序并导出结果矩阵到Excel表格了。

Stata矩阵维度不匹配错误:Conformability Error解决方案

原文地址: https://www.cveoy.top/t/topic/fUXY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录