Производительность - производительность аналитика Ошибка - фактор и числовой
-
20-12-2019 - |
Вопрос
Некоторые данные в текстовом файле:
date,p
2013-11-14,0.001
2013-11-13,-0.005
2013-11-12,0.001
library(PerformanceAnalytics)
stuff<-read.csv("C:stuffexample.txt")
str(stuff)
'data.frame': 3 obs. of 2 variables:
$ date: Factor w/ 3 levels "2013-11-12","2013-11-13",..: 3 2 1
$ p : num 0.001 -0.005 0.001
.
Хотите использовать аналитику производительности на данных:
AverageDrawdown(stuff)
Error in checkData(R) :
The data cannot be converted into a time series. If you are trying to pass in names from a data object with one column, you should use the form 'data[rows, columns, drop = FALSE]'. Rownames should have standard date formats, such as '1985-03-15'.
table.Drawdowns(box)
Error in checkData(R[, 1, drop = FALSE]) :
The data cannot be converted into a time series. If you are trying to pass in names from a data object with one column, you should use the form 'data[rows, columns, drop = FALSE]'. Rownames should have standard date formats, such as '1985-03-15'.
.
Как исправить ошибки?
Решение
Вам нужно следовать советам, приведенному в ошибке.Вы должны иметь названия строк даты и только данные в ваших данных. Сделайте:
row.names(stuff) <- levels(stuff$date)[stuff$date]
stuff2 <- stuff[, 'p', drop=FALSE]
AverageDrawdown(stuff2)
.
Это непросто, так как вы не предоставили воспроизводимый пример, хотя ...
Не связан с StackOverflow