gpt4 book ai didi

r - R 中的数据操作,股票数据转换

转载 作者:行者123 更新时间:2023-12-02 09:35:48 25 4
gpt4 key购买 nike

我想根据交换数据的经典“时间 * OHLC”数据格式创建以下 data.frame。

起点是以下数据框:

      Date   Time    Open    High     Low   Close
01/28/2002 0833 543.81 543.82 543.84 543.85
01/28/2002 0850 542.95 542.95 542.95 542.95
01/28/2002 0901 542.45 542.45 542.45 542.45
01/28/2002 0911 542.45 542.45 542.45 542.45

我的表中有 1534129 行。我有点绝望地将数据移动到以下结构中:

      Date  Time   Price
01/28/2002 0833 543.81
01/28/2002 0833 543.82
01/28/2002 0833 543.84
01/28/2002 0833 543.85
01/28/2002 0850 542.95

这就是第一行应该被重写的方式,并且这个扩展应该在原始文件的每一行上重复。我的任务的第二部分是设置一个参数(分布),该参数将决定在柱创建阶段是先高还是低。这当然对稍后的数据操作有进一步的影响,但我还不能到达起点。

稍后,我想使用代码并决定当您选择始终为高时数据的样子,然后首先创建低(相反),或者最难的事情,因为它不是确定性地完成的,是具有以下分布的版本将决定哪个先进行。

希望它准确地描述了任务(问题)。我很高兴收到每一个提示或想法。谢谢您的帮助。

最佳答案

尝试

 library(tidyr)
library(dplyr)
df1 <- df %>%
gather(Var, Price, Open:Close) %>%
arrange(Date, Time) %>%
select(-Var)


head(df1)
# Date Time Price
#1 01/28/2002 0833 543.81
#2 01/28/2002 0833 543.82
#3 01/28/2002 0833 543.84
#4 01/28/2002 0833 543.85
#5 01/28/2002 0850 542.95
#6 01/28/2002 0850 542.95

数据

 df <-structure(list(Date = c("01/28/2002", "01/28/2002", "01/28/2002", 
"01/28/2002"), Time = c("0833", "0850", "0901", "0911"), Open = c(543.81,
542.95, 542.45, 542.45), High = c(543.82, 542.95, 542.45, 542.45
), Low = c(543.84, 542.95, 542.45, 542.45), Close = c(543.85,
542.95, 542.45, 542.45)), .Names = c("Date", "Time", "Open",
"High", "Low", "Close"), row.names = c(NA, -4L), class = "data.frame")

关于r - R 中的数据操作,股票数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com