Мои данные организованы ежеквартально и еженедельно. Я смог преобразовать квартальные данные в формат даты, используя пакет Zoo и пакет TS. Однако я не совсем уверен, можно ли анализировать еженедельные данные.Анализ еженедельных наблюдений/данных
Например, вот как данные выглядит следующим образом:
TestData:
Fiscal.Year Fiscal.Quarter Seller Product.Bookings.Net Product.Bookings.Quantity Product.Family Sales.Level.1 Group Fiscal.Week
1 2015 2015.50 ABCD1234 4000 4 Paper cup Americas Paper Division 32
2 2014 2014.00 DDH1234 300 5 Paper tissue Asia Pacific Paper Division 33
3 2015 2015.00 PNS1234 298 6 Spoons EMEA Cutlery 34
4 2016 2016.75 CCC1234 289 7 Knives Africa Cutlery 33
Как вы можете видеть, я был в состоянии преобразовать четверть день в формат даты. Однако я не совсем уверен, можем ли мы анализировать еженедельные данные.
я принял удар на преобразование недельные данные (т.е. фискальная Неделя) на сегодняшний день ТС типа():
library("lubridate")
testdata$Fiscal.Year <- paste("1/1/",testdata$Fiscal.Year,sep = "")
testdata$Fiscal.Date <- dmy(testdata$Fiscal.Year) + lubridate::weeks(testdata$Fiscal.Week)
testdata$date_ts <- as.ts(testdata$Fiscal.Date)
Я только что проверил вывод:
class(testdata$date_ts)
[1] "ts"
Так, кажется, Я был в состоянии преобразовать эти недели к типу TS, но вот что происходит, когда:
Attempt1
Я пытаюсь использовать POSIXlt и POSIXct функции из базового класса (чтобы иметь возможность рисовать графики и т.д.):
as.POSIXlt(testdata$date_ts)
Error in as.POSIXlt.default(testdata$date_ts) :
do not know how to convert 'testdata$date_ts' to class “POSIXlt”
Attempt2
as.POSIXct.date(testdata$Fiscal.Date)
Error in as.POSIXct.date(testdata$Fiscal.Date) :
'testdata$Fiscal.Date' is not a "date" object
, хотя, мой объект имеет Тип:
class(testdata$Fiscal.Date)
[1] "Date"
у меня есть два взаимосвязанных вопроса:
Вопрос 1: Может кто-нибудь, пожалуйста, помогите мне с ошибкой? Я не совсем уверен, что проблема в каждом из двух методов выше.
Вопрос 2: Есть ли более эффективный способ (с точки зрения скорости и количества строк кода) делать то, что я сделал?
Мой пост влияет: Time series weekly data и после прочтения этой темы: Analyzing Daily/Weekly data using ts in R
Пожалуйста, помогите мне. Заранее спасибо.
Вот dput мои данные: dput (TestData)
structure(list(Fiscal.Year = c(2015, 2014, 2015, 2016), Fiscal.Quarter = c("2015Q3",
"2014Q1", "2015Q1", "2016Q4"), Seller = c("ABCD1234", "DDH1234",
"PNS1234", "CCC1234"), Product.Bookings.Net = c(4000, 300, 298,
289), Product.Bookings.Quantity = c(4, 5, 6, 7), Product.Family = c("Paper cup",
"Paper tissue", "Spoons", "Knives"), Sales.Level.1 = c("Americas",
"Asia Pacific", "EMEA", "Africa"), Group = c("Paper Division",
"Paper Division", "Cutlery", "Cutlery"), Fiscal.Week = c(32,
33, 34, 33)), .Names = c("Fiscal.Year", "Fiscal.Quarter", "Seller",
"Product.Bookings.Net", "Product.Bookings.Quantity", "Product.Family",
"Sales.Level.1", "Group", "Fiscal.Week"), row.names = c(NA, 4L
), class = "data.frame")
вы можете поделиться dput ваших данных, я получаю ошибку, пытаясь read.table вашего данные. – shayaa
@shayaa: Я добавил dput ... – watchtower
Вы даже прочитали 'help (" as.ts ")'? Он создает объект временного ряда, который является совершенно другим зверем, чем объект datetime. – Roland