首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么R不能识别我添加到数据帧中的新列?

为什么R不能识别我添加到数据帧中的新列?
EN

Stack Overflow用户
提问于 2021-03-11 12:41:36
回答 1查看 86关注 0票数 1

我正在对R中的石油价格进行时间序列分析。为了完成我的一项建模任务,在每月石油收盘价旁边添加了一个月列:

代码语言:javascript
运行
复制
df <- cbind(df, MONTH=1:nrow(df))

输出是成功的,结果如下:

代码语言:javascript
运行
复制
    OILSTOCK MONTH
1       1965     1
2       1812     2
3       1492     3
4       1289     4
5       1256     5

然后,我必须对最后12个月的数据(总共有108个月)进行坚持采样,我使用以下方法:

代码语言:javascript
运行
复制
n_OILSTOCK=OILSTOCK[1:96]
n_MONTH=MONTH[1:96]

对于n_OILSTOCK,上面的命令可以正常工作,但是由于某些原因,我得到了关于n_MONTH的以下错误:

代码语言:javascript
运行
复制
> n_MONTH=MONTH[1:96]
Error: object 'MONTH' not found

我不确定为什么R不认为这个新的月份专栏是一个合适的对象。有什么简单的方法可以解决这个问题吗?原始数据是以.txt格式传入的。谢谢你的帮助。

EN

Stack Overflow用户

发布于 2021-03-11 12:44:42

您的环境中不存在MONTH。它只是您在调用cbind(df, MONTH=1:nrow(df))时在df数据框中创建的列。

要引用MONTH作为此数据帧的列,您可以这样做:

代码语言:javascript
运行
复制
n_MONTH <- df$MONTH[1:96]

或者:

代码语言:javascript
运行
复制
n_MONTH <- df[1:96, 'MONTH']

正如所解释的,这是因为MONTH不是作为对象存在的。您必须通过将它指向df数据帧中的列来引用它。

相比之下,OILSTOCK确实存在于您的环境中,并且您能够毫无问题地执行子设置操作。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66576581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档