计算日志返回的天数介于0.01和0.015之间

时间:2018-10-16 00:24:30

标签: r

我是R的新手。我在R的对数回报中有一个数据框,用于调整后的收盘价的一年。这是数据示例:

data <- read.csv("AAPL-Data.csv")
df <- data.frame(Log_Returns = diff(log(Ad(data))))
    Log_Returns 
1  6.326076e-03
2  1.824152e-02
3  3.683450e-03
4  -4.434373e-03
5  -2.394487e-02
6  1.729473e-03
7  -5.121480e-04
8  5.937422e-03
9  -4.401654e-03
10  6.373016e-03
11 3.520299e-02
12 2.225889e-02
13 1.381963e-02
14 -1.280049e-02
15 7.283613e-03
16 2.577874e-02
17 1.009374e-02
18 3.208668e-03
19 8.147066e-03
20 -2.044707e-03

我需要使用R来计算日志返回的天数介于0.01和0.015之间。不知道如何在不使用view(df)来查看表并手动计算结果的情况下进行此操作。我可以使用一个功能来做到这一点吗?

2 个答案:

答案 0 :(得分:1)

sum(df$Log_Returns >= 0.01 & df$Log_Returns <= 0.015)

答案 1 :(得分:0)

您还可以使用tidyverse方法。

require(tidyverse)
df %>% 
  summarise(between = sum(Log_Returns > 0.01 & Log_Returns < 0.015), 
            notBetween = sum(!(Log_Returns > 0.01 & Log_Returns < 0.015)))

结果:

  between notBetween
1       2         18

数据:

df <- read.csv(text =  "Log_Returns 
             6.326076e-03
             1.824152e-02
              3.683450e-03
              -4.434373e-03
              -2.394487e-02
              1.729473e-03
              -5.121480e-04
              5.937422e-03
              -4.401654e-03
              6.373016e-03
             3.520299e-02
             2.225889e-02
             1.381963e-02
             -1.280049e-02
             7.283613e-03
             2.577874e-02
             1.009374e-02
             3.208668e-03
             8.147066e-03
             -2.044707e-03")