如何解决为什么 R 无法识别我添加到数据框中的新列?
我正在 R 中对石油价格进行时间序列分析。为了完成我的一项建模任务,在每个月的石油收盘价旁边添加了一个 MONTH 列:
df <- cbind(df,MONTH=1:nrow(df))
输出成功,结果如下:
OILSTOCK MONTH
1 1965 1
2 1812 2
3 1492 3
4 1289 4
5 1256 5
然后,我必须对过去 12 个月的数据(总共 108 个月)进行保留样本,我这样做:
n_OILSTOCK=OILSTOCK[1:96]
n_MONTH=MONTH[1:96]
上述命令对 n_OILSTOCK 正常工作,但由于某种原因,我收到有关 n_MONTH 的以下错误:
> n_MONTH=MONTH[1:96]
Error: object 'MONTH' not found
我不确定为什么 R 没有将这个新的 MONTH 列识别为合适的对象。有没有一种简单的方法可以解决这个问题?原始数据以 .txt 格式引入。感谢您的帮助。
解决方法
MONTH
在您的环境中不存在。它只是您在调用 df
时在 cbind(df,MONTH=1:nrow(df))
数据框中创建的列。
要将 MONTH
引用为此数据框的列,您可以这样做:
n_MONTH <- df$MONTH[1:96]
或者:
n_MONTH <- df[1:96,'MONTH']
如前所述,这是因为 MONTH
不作为对象存在。您必须通过将其指向 df
数据框中的列来引用它。
相比之下,OILSTOCK
实际上确实存在于您的环境中,您可以毫无问题地执行子集操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。