如何将xts索引或时间转换为年份

时间:2016-07-12 03:03:42

标签: r xts posixct

对于年度数据(例如年度收入报表),我想保留xts格式,但我需要将表的索引转换为"只有年份#34;。有年级和年级课程,但我没有找到"年"只有使用xts的课程。

# IS is annual reports of incomes. time(IS) is POSIXct.
library(quantmod)
IS <- viewFin(get(getFin("IBM")), "IS", "A") # Download data
IS <- as.xts(t(IS)) # Convert to xts
time(IS) <- as.yearqtr(time(IS))  ## works to have quarterly index
time(IS) <- as.yearmon(time(IS))  ## works to have monthly index
time(IS) <- ????(time(IS))  ## To have yearly index with xts class

什么是最佳解决方案?谢谢。

1 个答案:

答案 0 :(得分:0)

如果您解释为什么需要将索引作为&#34;年份&#34;将会很有帮助。只要。 Xts有一个indexFormat命令,允许你控制日期的显示方式,虽然我从未使用它,但我认为它只允许你显示任何给定索引条目的年份。

更极端的解决方案是将每个日期转换为该年度的第一年。这里有一些代码可以帮助您做到这一点:

first.of.year <- function(x)           # Given a date, returns the first day of that year
     return(as.Date(paste(year(as.Date(x)),"-01-01", sep="")))

index(x) <- first.of.year(index(x))