【发布时间】:2021-05-22 10:44:48
【问题描述】:
这是我的数据框:
| year | month | count |
|---|---|---|
| 2008 | 2 | 16 |
| 2008 | 3 | 36 |
我把它转换成这样的时间序列:
data <- ts(data$count, start = c(2008,2), frequency = 12)
在时间序列中,列名 'count' 变为 NULL:
> colnames(data)
NULL
并且我无法使用“常规”方法colnames(data) <- c("count") 更改它,因为我收到一个错误,我正在尝试更改小于 2 维的对象的列名。例如,如果我保留列“年”,它不会将列名更改为 NULL。但我不需要那个,我宁愿删除它。在转换为时间序列之后删除列“年”也会将“计数”的列名更改为 NULL。
有什么想法吗?关于如何避免重命名为 NULL 或如何从 NULL 重命名为任何其他名称。
编辑:我错误地假设 ts 对象通常有一个列名。因为我确实有另一个 ts 确实有一个专栏。修复此问题后,我的时间序列现在都没有 colnames 并且一切都很好。谢谢。
【问题讨论】:
-
时间序列对象不是 data.frame。它没有
colnames()或names()。它只有日期和值。从 2008 年 2 月开始,你用值 16 和 36 填充它。 -
@MartinWettstein 谢谢,我现在意识到我的错误是在另一个 ts 中,它确实有一个列:时间序列 [1:194, 1]。我修复了这个问题,现在我的 ts 都没有 colnames 了——我之前认为这是错误的。
标签: r time-series