чтение ежемесячных отчетов в R - PullRequest
1 голос
/ 09 марта 2012

У меня есть следующие месячные данные о капитале в файле "equity.dat":

2010-03,1e+06
2010-03,1.00611e+06
2010-04,998465
2010-05,1.00727e+06
2010-06,1.00965e+06

Я пытаюсь вычислить месячные доходы, используя следующий код:

library(PerformanceAnalytics)
y = Return.read(filename="equity.dat", frequency = "m", sep=",", header=FALSE)
y

z = Return.calculate(y)
z
z[1]=0 #added this to remove the NA in first return

но я получаю следующую ошибку:

Error in read.zoo(filename, sep = sep, format = format, FUN = FUN, header = header,  : 
  index has bad entries at data rows: 1 2 3 4 5

Я проверил форматирование Return.read при использовании as.mon и поэтому использую гггг-мм. я должен использовать другой формат.

1 Ответ

2 голосов
/ 09 марта 2012

Согласно ?Return.read по умолчанию format.in= здесь "%F", который не является форматом ваших данных, поэтому его нужно будет указать. Также индекс должен быть уникальным (в данном случае его нет), иначе он должен быть агрегирован в соответствии с ?zoo и ?read.zoo, последний из которых он использует внутри:

Return.read(filename = "equity.dat", frequency = "m", sep = ",", header = FALSE, 
  aggregate = function(x) tail(x, 1), format = "%Y-%m")

Мы использовали tail для определения функции агрегирования - вы можете или не хотите использовать что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...