【发布时间】:2021-11-16 12:27:22
【问题描述】:
我有一个如下所示的数据集:
data <- tribble(
~Date, ~Ticker, ~Close, ~Open,
"1989-09-11","COND",77.3292,77.3292,
"1989-09-12","COND",77.4435,77.4435,
"1989-09-13","COND",76.3118,76.3118,
"1989-09-14","COND",75.5309,75.6344,
"1989-09-15","COND",75.6598,75.4675)
# A tibble: 5 x 4
Date Ticker Close Open
<chr> <chr> <dbl> <dbl>
1 1989-09-11 COND 77.3 77.3
2 1989-09-12 COND 77.4 77.4
3 1989-09-13 COND 76.3 76.3
4 1989-09-14 COND 75.5 75.6
5 1989-09-15 COND 75.7 75.5
它的问题是,直到某个日期,收盘价与开盘价相同。我要做的是编写一个函数来检查开盘价和收盘价是否相同,如果是这样,它将开盘价替换为前一行的收盘价。如果应用到上面的数据,它会将数据转换如下:
# A tibble: 5 x 4
Date Ticker Close Open
<chr> <chr> <dbl> <dbl>
1 1989-09-11 COND 77.3 NA
2 1989-09-12 COND 77.4 77.3
3 1989-09-13 COND 76.3 77.4
4 1989-09-14 COND 75.5 75.6
5 1989-09-15 COND 75.7 75.5
我尝试使用 if 语句来执行此操作,但是当我尝试将“关闭”列中上一行的值获取到当前的“打开”值时,我遇到了问题。
【问题讨论】:
标签: r data-analysis data-cleaning