【问题标题】:Adding name to the first column in r将名称添加到 r 中的第一列
【发布时间】:2020-06-23 19:31:53
【问题描述】:

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

我试过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

dataset headers

【问题讨论】:

  • 如果是xts 对象,那么“日期”是索引而不是列
  • arkun,这里是我使用的包:tidyverse、PerformanceAnalytics、xts、lubridate。数据集来自 PerformanceAnalytics

标签: r names


【解决方案1】:

“经理”是 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'

或者在fortify.zoo中指定names

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

【讨论】:

  • 是的,它对 Akrun 有效。非常感谢!我应该阅读更多关于 xts 和 fortify.zoo 功能
猜你喜欢
  • 2016-12-07
  • 2011-12-23
  • 1970-01-01
  • 1970-01-01
  • 2020-12-26
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
相关资源
最近更新 更多