如何合并 csv 文件中的数据?
Posted
技术标签:
【中文标题】如何合并 csv 文件中的数据?【英文标题】:How can i mege data from csv files? 【发布时间】:2020-04-26 18:10:58 【问题描述】:我想对 2017 年 1 月 1 日至 2020 年 4 月 14 日期间的 2 只股票进行分析。不幸的是,我在导入数据方面遇到了困难。 我试图从 excel 导入数据,限制 2017 年 1 月 1 日至 2020 年 4 月 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) 请将您的数据缩减到最少但足以说明和包含它的内容。请阅读r 页面顶部的发布说明。 (2) 问题也指“问题”,但从未说明“问题”是什么。 【参考方案1】:由于该问题不包含可重现的示例,因此这里有一个解决方案,它合并了通过 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
>
【讨论】:
感谢您的解决方案 :) 太好了!但是,我更新了我的问题。你能再看看这个吗?以上是关于如何合并 csv 文件中的数据?的主要内容,如果未能解决你的问题,请参考以下文章