txt到XTS格式

时间:2017-05-31 19:27:27

标签: r text xts

我有一个包含紧密数据的文本文件,我正在尝试将其转换为XTS格式。

我能够将其称为R,但无法找到将此数据转换为XTS格式的方法。以下是我正在使用的示例数据。

05/31/2017,32.78,FCOM
05/30/2017,32.72,FCOM
05/26/2017,32.56,FCOM
05/25/2017,32.57,FCOM
05/24/2017,32.47,FCOM
05/31/2017,35.63,FDIS
05/30/2017,35.71,FDIS
05/26/2017,35.67,FDIS
05/25/2017,35.54,FDIS
05/24/2017,35.23,FDIS
05/31/2017,18.17,FENY
05/30/2017,18.26,FENY
05/26/2017,18.53,FENY
05/25/2017,18.51,FENY
05/24/2017,18.90,FENY
05/31/2017,36.52,FHLC
05/30/2017,36.40,FHLC
05/26/2017,36.50,FHLC
05/25/2017,36.62,FHLC
05/24/2017,36.41,FHLC
05/31/2017,34.28,FIDU
05/30/2017,34.34,FIDU
05/26/2017,34.33,FIDU
05/25/2017,34.31,FIDU
05/24/2017,34.17,FIDU
05/31/2017,30.56,FMAT
05/30/2017,30.66,FMAT
05/26/2017,30.68,FMAT
05/25/2017,30.62,FMAT
05/24/2017,30.70,FMAT
05/31/2017,34.26,FNCL
05/30/2017,34.60,FNCL
05/26/2017,34.86,FNCL
05/25/2017,34.90,FNCL
05/24/2017,34.85,FNCL
05/31/2017,23.96,FREL
05/30/2017,23.96,FREL
05/26/2017,24.02,FREL
05/25/2017,24.21,FREL
05/24/2017,24.16,FREL

提前感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:2)

使用split read.zoo参数指示哪个列包含应该用于创建列的数据。

x <- read.zoo(text = "05/31/2017,32.78,FCOM
05/30/2017,32.72,FCOM
05/26/2017,32.56,FCOM
05/25/2017,32.57,FCOM
05/24/2017,32.47,FCOM
05/31/2017,35.63,FDIS
05/30/2017,35.71,FDIS
05/26/2017,35.67,FDIS
05/25/2017,35.54,FDIS
05/24/2018,35.23,FDIS
05/31/2017,18.17,FENY
05/30/2017,18.26,FENY
05/26/2017,18.53,FENY
05/25/2017,18.51,FENY
05/24/2017,18.90,FENY
05/31/2017,36.52,FHLC
05/30/2017,36.40,FHLC
05/26/2017,36.50,FHLC
05/25/2017,36.62,FHLC
05/24/2017,36.41,FHLC
05/31/2017,34.28,FIDU
05/30/2017,34.34,FIDU
05/26/2017,34.33,FIDU
05/25/2017,34.31,FIDU
05/24/2017,34.17,FIDU
05/31/2017,30.56,FMAT
05/30/2017,30.66,FMAT
05/26/2017,30.68,FMAT
05/25/2017,30.62,FMAT
05/24/2017,30.70,FMAT
05/31/2017,34.26,FNCL
05/30/2017,34.60,FNCL
05/26/2017,34.86,FNCL
05/25/2017,34.90,FNCL
05/24/2017,34.85,FNCL
05/31/2017,23.96,FREL
05/30/2017,23.96,FREL
05/26/2017,24.02,FREL
05/25/2017,24.21,FREL
05/24/2017,24.16,FREL", sep = ",", format = "%m/%d/%Y", split = 3)

设置split = 3告诉read.zoo使用文件中的第3列来创建列。然后x是一个动物园对象:

R> x
            FCOM  FDIS  FENY  FHLC  FIDU  FMAT  FNCL  FREL
2017-05-24 32.47 35.23 18.90 36.41 34.17 30.70 34.85 24.16
2017-05-25 32.57 35.54 18.51 36.62 34.31 30.62 34.90 24.21
2017-05-26 32.56 35.67 18.53 36.50 34.33 30.68 34.86 24.02
2017-05-30 32.72 35.71 18.26 36.40 34.34 30.66 34.60 23.96
2017-05-31 32.78 35.63 18.17 36.52 34.28 30.56 34.26 23.96

您可以使用xx <- as.xts(x)转换为xts。