данные панели в R - PullRequest
       27

данные панели в R

1 голос
/ 21 марта 2012

Я работал с zoo, чтобы использовать запаздывание и разность для моих данных временных рядов.Я не работаю с панельным набором данных, который состоит из фирмы и даты.Становится очень громоздким отстать от каждой фирмы в отдельности, а затем объединить результаты.Есть ли хорошие пакеты, которые работают с данными панели в R?Я знаю о plm в настоящее время.Другие?У plm есть странная проблема, что порядок lag (т.е. -1 против +1) в точности противоположен zoo и ts, и поэтому я предвижу головные боли впереди.Какие-нибудь пакеты, которые кому-нибудь нравятся?

1 Ответ

1 голос
/ 21 марта 2012

Функция ddply в пакете plyr обычно делает эту операцию безболезненной (но она может быть медленной для больших наборов данных).

# Sample data
library(quantmod)
d <- NULL
for(s in c("^GSPC","^N225")) {
  tmp <- getSymbols(s,auto.assign=FALSE)
  tmp <- Ad(tmp)
  names(tmp) <- "price"
  tmp <- data.frame( date=index(tmp), id=s, price=coredata(tmp) )
  d[[s]] <- tmp
}
d <- do.call(rbind, d)
rownames(d) <- NULL

# Sample computations: lag the prices and compute the logarithmic returns
library(plyr)
d <- ddply(
  d, "id", 
  mutate,
  previous_price = lag(xts(price,date)),
  log_return = log(price / previous_price)
) 
...