首页 > 解决方案 > 重命名R中列的标题

问题描述

我使用 quantmod 函数从 R 导入了一个数据集,其中一列没有标题。我尝试给它一个标题名称,因为我试图随着时间的推移运行回归。

我收到以下错误:

Error in dimnames(x) <- dn :length of 'dimnames' [2] not equal to array extent

这是我运行的完整代码:

# To load data from FRED 

library(quantmod)
getSymbols('DAUTONSA',src='FRED')`

## Subset data as you wish: remove observations after February 2019

date.start <- "1967-01-01"
date.end <- "2019-02-01"
AUTOdata <-DAUTONSA[paste(date.start,date.end,sep="/")]
View(AUTOdata)

summary(AUTOdata)
plot(AUTOdata)

# Changing names of data
data.frame(AUTOdata)
names(AUTOdata) <- c("time", "sales")

这是我得到错误功能的时候

任何帮助将不胜感激。

标签: r

解决方案


AUTOdata不是数据框。

class(AUTOdata)
#[1] "xts" "zoo"

它没有 2 列

dim(AUTOdata)
#[1] 626   1

您可以将数据转换为 data.frame

df <- zoo::fortify.zoo(AUTOdata)

然后重命名列

names(df) <- c("time", "sales")
head(df)
#        time sales
#1 1967-01-01 564.1
#2 1967-02-01 509.1
#3 1967-03-01 670.4
#4 1967-04-01 710.2
#5 1967-05-01 744.8
#6 1967-06-01 780.2

推荐阅读