r回归建模
R 报错:NA/NaN/Inf in 'x'(回归输入含缺失或无穷)
lm() 默认 na.action = na.omit,但如果用 lm.fit() 直接调用、或者数据里有 Inf(比如除零),就会报这个。
报错原文
Error in lm.fit(x, y, ...) : NA/NaN/Inf in 'x'为什么会报这个错
lm() 默认 na.action = na.omit,但如果用 lm.fit() 直接调用、或者数据里有 Inf(比如除零),就会报这个。
怎么解决
sum(is.na(df))、sum(!is.finite(as.matrix(df))) 检查。Inf 通常是前面计算除零导致的,回溯那一步。缺失值要么删要么插补。
代码示例
colSums(is.na(df))
sapply(df, function(x) sum(is.infinite(x)))
df_clean <- na.omit(df)
lm(y ~ x, data = df_clean)同工具的其他报错
报错解决了,但方法还没搞懂?
报错只是表象。因果推断、面板数据、稳健性检验这些方法背后的逻辑,知识库里按「原理 × 直觉 × 代码」讲清楚了。
进入知识库 →