r - 周五的收益是否大于周一?
问题描述
我正在寻找 R 中的 if 语句,它可以帮助我确定周一收盘价是否高于周五收盘价,关键是将其添加为额外的列。
我尝试了以下方法,得出了合理的结果:
GSPC$GSPC.DIFF <- for(i in 1:length(GSPC$GSPC.Weekdaynr)) {if(GSPC$GSPC.Weekdaynr[i] > 4){GSPC.DIFF <- append(GSPC.DIFF,5) }else{GSPC.DIFF <- append(GSPC.DIFF, "")}} 在此处输入图像描述
但是将语句 1 更改为 append(GSPC.DIFF,GSPC$GSPC.Close)
GSPC$GSPC.DIFF <- for(i in 1:length(GSPC$GSPC.Weekdaynr)) {if(GSPC$GSPC.Weekdaynr[i] > 4){GSPC.DIFF <- append(GSPC.DIFF,GSPC$ GSPC.Close)}else{GSPC.DIFF <- append(GSPC.DIFF, "")}}
给出以下内容:[在此处输入图像描述][2]
有谁知道为什么它不像第一种情况那样每五行都有价值?
这里是收集值的地方: 在此处输入图像描述
解决方案
这是一种可能有用的方法(我猜不是最优雅的方法):
library(dplyr)
library(tibble)
library(lubridate)
set.seed(123)
data <- tibble(
Date = seq.Date(from = as.Date("2020/04/01"), to = as.Date("2020/05/12"), by = "day"),
Open = runif(42, min = 11500, max = 12600),
Close = runif(42, min = 11500, max = 12600)
)
data <- data %>%
mutate(day = weekdays(Date),
week = week(Date)) %>%
filter(day == "Monday" | day == "Friday") %>%
group_by(week) %>%
mutate(Delta = ifelse(Close - lead(Open, 1) > 0, "Higher", "Lower")) %>%
select(Date, week, Delta) %>%
filter(!is.na(Delta))
有了这个输出:
> data
# A tibble: 6 x 3
# Groups: week [6]
Date week Delta
<date> <dbl> <chr>
1 2020-04-03 14 Higher
2 2020-04-10 15 Lower
3 2020-04-17 16 Lower
4 2020-04-24 17 Lower
5 2020-05-01 18 Lower
6 2020-05-08 19 Lower
从这个输入:
> data
# A tibble: 42 x 3
Date Open Close
<date> <dbl> <dbl>
1 2020-04-01 11816. 11955.
2 2020-04-02 12367. 11906.
3 2020-04-03 11950. 11668.
4 2020-04-04 12471. 11653.
5 2020-04-05 12535. 11756.
6 2020-04-06 11550. 12013.
7 2020-04-07 12081. 11793.
8 2020-04-08 12482. 12444.
9 2020-04-09 12107. 11550.
10 2020-04-10 12002. 11986.
推荐阅读
- forms - EXT:Form - 从内容对象数据中获取布局字段
- android - Xamarin Forms:如何使用通知 ID 清除已读推送通知
- java - Thymeleaf - 从对象列表中填充下拉菜单
- android - 使用 textview 约束布局
- css - z-index 和超链接不可点击
- java - 没有可用的“xxx.dao.AreaDao”类型的合格 bean:预计至少有 1 个有资格作为自动装配候选者的 bean
- mysql - 使用mysql导入数据库时丢失数据
- google-cloud-platform - 将 Airflow Operator 与 Google Cloud Bucket 连接
- css - 将球拍颜色与 CSS 颜色转换
- python - 如何为 python usign grpcio_tools.protoc 编译 homegraph google api 原型文件?