带时间变量的 lm 函数
lm function with time variable
我今天更新了我的 R 版本,现在 lm()
函数出现错误。
现在 运行 R 版本 4.0.3 (2020-10-10)
这是我保存在 df 中的数据结构:
(如果图片未加载,它是一个包含 2 列的数据框:'Date' 和 'Value'。(使用 as.Date() 函数将日期保存为日期)
我想知道线性回归线的斜率,所以我使用了下面的函数:
trend <- lm(formula = Date~Value, data=df)
它通常会 return 我的趋势线的截距和斜率,但在我的 R 版本更新后,我得到以下错误:
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : NA/NaN/Inf in 'y'
我的数据框中没有 NA 值,而且我还没有找到解决此错误的方法。有人建议如何修复它或了解趋势线斜率的其他方法吗?我认为这是因为我使用了日期变量,因为如果我使用 2 个数字变量,该函数不会 return 出错。
提前感谢您的宝贵时间和帮助!
如果您想对一个变量使用简单的线性回归,您可以将日期转换为 运行 天(自开始以来过去的天数)。
看看你的数据,这不会给你带来太多,因为它看起来不是很“线性”。因此,您可以将日期解构为相关组件(也可能使用上面的 运行 日期):
- 一个月中的第几天
- 星期几
- 周
- 月
- quarter/semester
- 年
(或其中的一部分)并对这些整数执行多元线性回归。
最后但并非最不重要的时间序列预测将是最正确的方法(auto.arima()即)
我今天更新了我的 R 版本,现在 lm()
函数出现错误。
现在 运行 R 版本 4.0.3 (2020-10-10)
这是我保存在 df 中的数据结构:
(如果图片未加载,它是一个包含 2 列的数据框:'Date' 和 'Value'。(使用 as.Date() 函数将日期保存为日期)
我想知道线性回归线的斜率,所以我使用了下面的函数:
trend <- lm(formula = Date~Value, data=df)
它通常会 return 我的趋势线的截距和斜率,但在我的 R 版本更新后,我得到以下错误:
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : NA/NaN/Inf in 'y'
我的数据框中没有 NA 值,而且我还没有找到解决此错误的方法。有人建议如何修复它或了解趋势线斜率的其他方法吗?我认为这是因为我使用了日期变量,因为如果我使用 2 个数字变量,该函数不会 return 出错。
提前感谢您的宝贵时间和帮助!
如果您想对一个变量使用简单的线性回归,您可以将日期转换为 运行 天(自开始以来过去的天数)。
看看你的数据,这不会给你带来太多,因为它看起来不是很“线性”。因此,您可以将日期解构为相关组件(也可能使用上面的 运行 日期):
- 一个月中的第几天
- 星期几
- 周
- 月
- quarter/semester
- 年
(或其中的一部分)并对这些整数执行多元线性回归。
最后但并非最不重要的时间序列预测将是最正确的方法(auto.arima()即)