繁体   English   中英

在R中查找多个列和行的每日收益

[英]Finding daily returns in R for multiple columns and rows

我有一个名为finaldf的数据框,看起来像这样,共有70种不同的加密货币价格和大约2至3年的数据

Date        P1          P2      P3     P4...........P70      
28-Apr-13   135.3       135.98  132.1  134.2
29-Apr-13   134.44      147.49  134    144.54  
30-Apr-13   144         146.93  134.05 139    
1-May-13    139         139.89  107.72 116.99 

我想对所有P1至P70应用公式以获取每日收益。 例如,我要根据示例数据应用的公式将看起来像(134.44-135.3)/135.3,但它将涵盖所有日期从P1到P70的所有数据。 我正在寻找的最终输出将是这样的

DR =每日收益

Date  P1  DR1  P2  DR2.......P70  DR70

我们可以使用mutate_atdplyr来指定以“ P”开头的列,并将连续值除以当前值以创建“ DR”列

library(dplyr)
df1 %>%
   mutate_at(vars(starts_with('P')), funs(DR = (lead(.)- .)/.))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM