У меня есть два файла данных с возвратом акций. Я пытаюсь применить одну и ту же функцию к обоим, но я получаю сообщение об ошибке для одного из них. Я хотел выяснить, что вызывает ошибку, поэтому я сравнил выход str
для обоих XTS объектов и единственная линия, которая отличается является:Изменение индекса даты объекта xts
Indexed by objects of class: [POSIXct,POSIXt] TZ: # this object errors
Indexed by objects of class: [Date] TZ: GMT # this object works
Есть ли способ изменить индексации дат в XTS объект, так что вывод str
возвращается: Indexed by objects of class: [Date] TZ: GMT
?
Я создал даты, используя: seq(as.Date("1963/07/01"), as.Date("2004/12/01"), by = "1 month",tzone="GMT")
.
Воспроизводимый пример:
library(xts)
library("PerformanceAnalytics")
load("https://dl.dropboxusercontent.com/u/22681355/data.Rdata")
data(edhec)
data2 <- as.xts(french1)
Функции Я хочу назвать это Return.portfolio()
с аргументом rebalance_on="months"
Return.portfolio(edhec["1997",1:10],rebalance_on="months") #this works
Return.portfolio(data2["1976",1:10],rebalance_on="months") #this does not work
Можете ли вы предоставить [воспроизводимый пример] (http://stackoverflow.com/q/5963269/271616) и функцию, которая бросает ошибку? Если вы не можете предоставить функцию, бросающую ошибку, можете ли вы хотя бы сказать нам, что такое ошибка? Ваш текущий вопрос предполагает, что вы знаете причину ошибки, которая может быть неправильным допущением. –
См. Мое редактирование. Теперь есть полный воспроизводимый пример. – user1984076
Обычно функции 'is' возвращают логические, тогда как функции' as' действуют, чтобы принуждать объекты. –