R中带有NA的累积收益

rwn1v

我有以下数据框:

df <- data.frame(Return1=c(NA, NA, .03, .04, .05),
             Return2=c(.25, .33, NA, .045, .90),
             Return3=c(.04, .073, .08, .04, .01))


  Return1 Return2 Return3
1      NA   0.250   0.040
2      NA   0.330   0.073
3    0.03      NA   0.080
4    0.04   0.045   0.040
5    0.05   0.900   0.010

我想计算累积收益,但数据框中缺少值。我用了:

cumprod(df+1)-1

结果

  Return1 Return2   Return3
1      NA  0.2500 0.0400000
2      NA  0.6625 0.1159200
3      NA      NA 0.2051936
4      NA      NA 0.2534013
5      NA      NA 0.2659354

这里的问题是,如果存在NA,则向下的后续行将具有结果NA。有没有一种方法可以计算出累积收益,而NA不会影响下面的其余行?

我想得到的结果是:

  Return1 Return2   Return3
1      NA  0.2500 0.0400000
2      NA  0.6625 0.1159200
3    0.03     NA  0.2051936
4 0.07120  0.7373 0.2534013
5 0.12476  2.3008 0.2659354

我知道PerformanceAnalytics包中的一个名为Return.cumulative的函数,但这只会获得整个列的累积返回。

有任何想法吗?

居住
cumpfun <- function(x){
  x[!is.na(x)] <- cumprod(x[!is.na(x)]+1)-1
  x
}
sapply(df,cumpfun)

#      Return1   Return2   Return3
# [1,]      NA 0.2500000 0.0400000
# [2,]      NA 0.6625000 0.1159200
# [3,] 0.03000        NA 0.2051936
# [4,] 0.07120 0.7373125 0.2534013
# [5,] 0.12476 2.3008937 0.2659354

请注意,sapply返回矩阵。如果您需要数据框,可以使用sthas.data.frame(lapply(df, cumpfun))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中的累积曲线

来自分类Dev

在SQL中运行累积收益

来自分类Dev

在ggplot中绘制带有负向和正向的累积直方图?

来自分类Dev

从R中的data.table中删除带有NA的行

来自分类Dev

在带有多个通知的launchMode =“ singleTop”的活动中从NotificationIntent中获得更多收益

来自分类Dev

声明一个带有收益的Ruby Lambda

来自分类Dev

R中的“累积差异”功能

来自分类Dev

通过R中的ID计算复合收益

来自分类Dev

带有附件的列表累积

来自分类Dev

带有窗口函数的熊猫累积和

来自分类Dev

R中具有NA的日期列-带有突变的意外行为

来自分类Dev

将每日收益转换为r中的每月收益

来自分类Dev

因子查找中NA的意外收益

来自分类Dev

R中的股票收益比较

来自分类Dev

处理Scrapy中的所有收益项目

来自分类Dev

在带有空格的列中读取na -R

来自分类Dev

将带有空格/ NA的文本文件导入并解析到R中

来自分类Dev

根据R中的另一列求和,但跳过带有NA的行

来自分类Dev

R的数据中带有NA的if语句出错

来自分类Dev

R中的累积曲线

来自分类Dev

在SQL中运行累积收益

来自分类Dev

R中的收益率曲线排序

来自分类Dev

R:在“收益率”列中删除NA大于3的县,并对NA小于3的县使用na.spline

来自分类Dev

R中的季度收益和时间序列

来自分类Dev

R中的排名收益

来自分类Dev

如何使收益数低于R中的阈值?

来自分类Dev

累积和:处理 R 中栅格数据中的 NA 像素

来自分类Dev

r中面板数据集不同持有期收益计算

来自分类Dev

在 R 中运行(累积)产品?