statar(109)数据类型

Stata 报错 r(109):type mismatch(类型不匹配)

表达式里把字符串和数值混着运算了。比如 gen z = price + region(region 是字符串),或者对数值取子串 substr(price,1,2)。

报错原文

type mismatch
r(109);

为什么会报这个错

表达式里把字符串和数值混着运算了。比如 gen z = price + region(region 是字符串),或者对数值取子串 substr(price,1,2)。

怎么解决

确认参与运算的变量类型是否一致。字符串比较要用 == 加引号,数值计算前先 destring。做 merge 时两侧键变量类型也必须一致。

代码示例

describe region price

// 字符串比较要加引号
count if region == "East"

// 转换后再算
destring price, replace
regress price mpg

同工具的其他报错

报错解决了,但方法还没搞懂?

报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。

进入知识库 →