Как я могу mege данные из CSV-файлов? - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу провести анализ 2 акций за период с 2017-01-01 до 2020-04-14. К сожалению, я борюсь с импортом данных. Я пытался импортировать данные из Excel, ограничить данные за период с 2017-01-01 до 2020-04-14 и объединить эти данные.

x <- read.csv("data/pkn_d.csv")
y <- read.csv("data/lts_d.csv")

head(x)
        Date   Open   High    Low  Close   Volume
1 1999-11-26 16.307 16.452 15.717 16.229 14845780
2 1999-11-29 16.154 16.229 15.863 15.940  5148506
3 1999-11-30 16.086 16.375 16.086 16.229  3077465
4 1999-12-01 16.375 16.742 16.229 16.742  2881475
5 1999-12-02 16.895 17.407 16.818 17.040  3093313
6 1999-12-03 17.040 17.330 16.895 17.260  2207547

head(y)
    Date   Open   High    Low  Close  Volume
1 2005-06-09 26.676 26.676 25.013 25.013 1795647
2 2005-06-10 25.097 25.433 24.594 24.594  679054
3 2005-06-13 25.013 25.097 24.594 24.762  213950
4 2005-06-14 24.929 24.929 24.762 24.762  181415
5 2005-06-15 24.762 24.845 24.594 24.762  160359
6 2005-06-16 24.762 24.762 24.350 24.350  171475

Меня интересуют только данные за 2017- 01-01 до 2020-04-14 и 5-й столбец (цена закрытия)

x <- x[4285:5100, 5]
y <- y[2899:3714, 5]

Далее я хочу объединить эти данные:

merge(x,y)

Однако я не получаю любой значимый вывод .. Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 26 апреля 2020

Поскольку вопрос не включает воспроизводимый пример, вот решение, которое объединяет набор цен акций, извлеченный из inte rnet через пакет quantmod.

library("quantmod")
#
symbolList <- c("PKN","LTS")
from.dat <- as.Date("2017-01-01",format="%Y-%m-%d")
to.dat <- as.Date("2020-04-14",format="%Y-%m-%d")

prices <- lapply(symbolList,function(x){
     getSymbols(x,auto.assign = FALSE,from = from.dat,to = to.dat)[,4]
})
priceData <- do.call(merge,prices)
head(priceData)

... и вывод:

> head(priceData)
           PKN.Close LTS.Close
2017-01-03    49.370      2.54
2017-01-04    50.370      2.57
2017-01-05    89.340      2.43
2017-01-06    89.340      2.38
2017-01-09    49.855      2.36
2017-01-10    88.300      2.44
>
...