2013-11-15 32 views
0

在文本文件中的一些数据:Drawdowns-性能分析错误---因子和数字

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'. 

如何修正错误?

回答

1

您需要遵循错误中给出的建议。你应该有日期,只有数据的行名在data.frame:

row.names(stuff) <- levels(stuff$date)[stuff$date] 
stuff2 <- stuff[, 'p', drop=FALSE] 

AverageDrawdown(stuff2) 

这是未经检验的,因为你没有提供一个可重复的例子,但...

+0

感谢你,因为工作 – Rhodo