Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阅读以R为单位的月度报表_R_Time Series - Fatal编程技术网

阅读以R为单位的月度报表

阅读以R为单位的月度报表,r,time-series,R,Time Series,我在文件“equity.dat”中有以下月度权益数据: 我尝试使用以下代码计算月度回报: 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 但我得到了以下错误: Err

我在文件“equity.dat”中有以下月度权益数据:

我尝试使用以下代码计算月度回报:

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

我在使用as.mon时签出了Return.read的格式,这就是我使用yyyy-mm的原因。我应该使用不同的格式。

根据
返回。读取默认的
格式。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
来定义聚合函数——您可能希望也可能不希望使用其他功能。

感谢您提供了正确的代码。我还将查找tail(),因为我以前从未使用过它。通过使用上述合计,它不会产生3月份的回报,而这正是我试图通过将初始股权标记为2月份来实现的,这样你就不会有两个3月份的分录。在这种情况下,您不需要
aggregate=
Return.read(filename = "equity.dat", frequency = "m", sep = ",", header = FALSE, 
  aggregate = function(x) tail(x, 1), format = "%Y-%m")