首页 > 解决方案 > 将名称添加到 r 中的第一列

问题描述

我的数据集缺少第一列的名称(其中有日期)

我试过colnames(managers)[1] <- "date"了,但它重命名了第二列

> #load data
> data(managers) 
> colnames(managers)[1] <- "date"
> View(head(managers,10))
> str(managers)
An ‘xts’ object on 1996-01-31/2006-12-31 containing:
  Data: num [1:132, 1:10] 0.0074 0.0193 0.0155 -0.0091 0.0076 -0.0039 -0.0231 0.0395 0.0147 0.0288 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:10] "date" "HAM2" "HAM3" "HAM4" ...
  Indexed by objects of class: [Date] TZ: UTC
  xts Attributes:  
 NULL

数据集标头

标签: rnames

解决方案


“经理”是一个xts对象,日期是index

library(PerformanceAnalytics)
index(managers)
#[1] "1996-01-31" "1996-02-29" "1996-03-31" "1996-04-30" "1996-05-31" "1996-06-30" ...

数据集的列是

colnames(managers)
#[1] "HAM1"        "HAM2"        "HAM3"        "HAM4"        "HAM5"        "HAM6"        "EDHEC LS EQ" "SP500 TR"    "US 10Y TR"   "US 3m TR"  

如果我们想将其转换为data.frame,则使用fortify.zoo

library(zoo)
managers1 <- fortify.zoo(managers)
colnames(managers)[1] <- 'date'

或指定namesfortify.zoo

managers1 <- fortify.zoo(managers, names = "date") 

推荐阅读