创建从 YYYY-MM-TT 到 YYYY-MM-TT 的简单动物园系列
Creating a simple zoo series from YYYY-MM-TT to YYYY-MM-TT
你能帮我解决以下问题吗?
我有一个很大的 excel 文件,看起来像这样:
Click here to view a screenshot for the excel file
假设这些是四家不同公司的股票价格。
在第一列中,您可以在 YY.MM.DD 中看到 2010 年几天的日期,并且
在第一行,您会看到公司编号。像 101、102 ...
所以101公司年初一的股价是4555美元。
现在我必须在 R 中为 eventstudies
包创建一个动物园系列。
Click here to view a screenshot for the description
创建此类格式的最快方法是什么?我进行了很多尝试,但没有得到正确的解决方案。这些值必须如下所示:
Click here to view a screenshot for the final zoo series
日期现在的格式是 YYYY-MM-DD。如您所见,我们在这个 zoo
系列中有一些带负号的值。所以它显示了从第 1 天到第 2 天的变化。
我的最终 zoo
系列将显示公司 101 从 2010 年 1 月 4 日开始每天的价值 +1。
要转换日期,请使用
new_data_variable <- as.Date(old_date_variable, "%m.%d.%y")
如果您也想重塑数据,有很多选项可用,但我不确定您在这方面需要什么。
我认为最简单的方法是将 as.xts() 与 seq.Date() 结合起来,如下所示:
startdate <- as.Date("2010-01-01")
enddate <- as.Date("2010-12-31")
timeseries <- as.xts(x = seq.Date(from = startdate, to = enddate, by = "1 day"))
编辑
也许这更接近你想要的:
x <- readxl::read_excel("filename.xlsx")
x$X__1 <- lubridate::dmy(x$X__1)
as.zoo(x)
简单:
library(zoo)
library(openxlsx)
sheet <- read.xlsx("<path to your excel doc.xlsx>")
dates <- as.Date(sheet[[1]], format = "%m.%d.%y")
# if this doesn't work, replace 1 with your column name
startdate <- min(dates)
enddate <- max(dates)
dates <- seq(startdate, enddate, by = "day")
dates_zoo <- as.xts(dates)
你能帮我解决以下问题吗? 我有一个很大的 excel 文件,看起来像这样:
Click here to view a screenshot for the excel file
假设这些是四家不同公司的股票价格。 在第一列中,您可以在 YY.MM.DD 中看到 2010 年几天的日期,并且 在第一行,您会看到公司编号。像 101、102 ... 所以101公司年初一的股价是4555美元。
现在我必须在 R 中为 eventstudies
包创建一个动物园系列。
Click here to view a screenshot for the description
创建此类格式的最快方法是什么?我进行了很多尝试,但没有得到正确的解决方案。这些值必须如下所示:
Click here to view a screenshot for the final zoo series
日期现在的格式是 YYYY-MM-DD。如您所见,我们在这个 zoo
系列中有一些带负号的值。所以它显示了从第 1 天到第 2 天的变化。
我的最终 zoo
系列将显示公司 101 从 2010 年 1 月 4 日开始每天的价值 +1。
要转换日期,请使用
new_data_variable <- as.Date(old_date_variable, "%m.%d.%y")
如果您也想重塑数据,有很多选项可用,但我不确定您在这方面需要什么。
我认为最简单的方法是将 as.xts() 与 seq.Date() 结合起来,如下所示:
startdate <- as.Date("2010-01-01")
enddate <- as.Date("2010-12-31")
timeseries <- as.xts(x = seq.Date(from = startdate, to = enddate, by = "1 day"))
编辑
也许这更接近你想要的:
x <- readxl::read_excel("filename.xlsx")
x$X__1 <- lubridate::dmy(x$X__1)
as.zoo(x)
简单:
library(zoo)
library(openxlsx)
sheet <- read.xlsx("<path to your excel doc.xlsx>")
dates <- as.Date(sheet[[1]], format = "%m.%d.%y")
# if this doesn't work, replace 1 with your column name
startdate <- min(dates)
enddate <- max(dates)
dates <- seq(startdate, enddate, by = "day")
dates_zoo <- as.xts(dates)