高效处理数据(库存数据)

东楚公园

这是我开始的代码:

library(quantmod)
library(timetk)
library(dplyr)
library(tibble)
library(tidyr)


mdate <- "2019-05-01"
edate <- "2019-05-03"
tickers <- c("MMM","C", "AAPL")


for(ticker in tickers)
 Open_Raw <- cbind(Open_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F)[,1])


timetk::tk_tbl(Open_Raw)

Open_Raw <- timetk::tk_tbl(Open_Raw)[, -1]
colnames(Open_Raw) = tickers

## Open Price
Open_Raw <- NULL
for(ticker in tickers)
  Open_Raw <- cbind(Open_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F)[,1])
Topen_Raw <- t(Open_Raw)

## High Price
High_Raw <- NULL
for(ticker in tickers)
  High_Raw <- cbind(High_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F)[,2])
Thigh_Raw <- t(High_Raw)

## Low Price
Low_Raw <- NULL
for(ticker in tickers)
  Low_Raw <- cbind(Low_Raw, getSymbols(ticker, from = mdate, to = edate, auto.assign = F)[,2])
Tlow_Raw <- t(Low_Raw)

## write in the same way for Close, Adjusted and Volume, and;


##Cbind Open and High
Open_High <- cbind(Topen_Raw, Thigh_Raw)

##Cbind Open_High and Low_Raw
Open_to_Low <- cbind(Open_High, Tlow_Raw)

如您所见,前两列为开盘价,第三和第四列为高价。我可以使用这些代码获得所需的输出,但是当我尝试导入数千个库存数据时会出现错误,因此无法使用它们。如果可能的话,我想在数据集之间留一个空格(打开,高,低,关闭,调整和音量)

我该怎么做?

你好朋友

Base R解决方案:

# Transpose data.frame: 
td_data <- within(data.frame(price_var = row.names(t(data)), t(data), row.names = NULL), 
                  {
                    ticker_cd <- as.factor(gsub("[.].*", "", price_var))
                    price_var <- as.factor(gsub(".*[.]", "", price_var))
                  }
                )
# Reshape: 
do.call("cbind", split(td_data, td_data$price_var))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章