使用动物园套餐

时间:2018-08-06 10:11:29

标签: r zoo

请帮助!
我有一个具有4列的.csv文件:日期,VBLTX,FMAGX和SBUX。后三个列是某些股票的调整后收盘价。日期列是从1998年1月到2009年12月的月份。这是第一对或第二行:

Date      |VBLTX      |FMAGX        |SBUX  
1/01/1998 |4.36       |44.38        |4.3  
1/02/1998 |4.34       |47.74        |4.66  
1/03/1998 |4.35       |47.74        |5.33

我正在尝试将其作为动物园对象读入R,如下所示:

         |VBLTX      |FMAGX        |SBUX  
Jan 1998 |4.36       |44.38        |4.3  
Feb 1998 |4.34       |47.74        |4.66  
Mar 1998 |4.35       |47.74        |5.33

我不知道如何进行这项工作。我目前正在使用以下代码行:

all_prices <- read.zoo("all_prices.csv", FUN = identity)

这产生了这个动物园系列:

         |V2         |V3           |V4  
Apr-00   |4.63       |73.15        |7.12  
Apr-01   |5.22       |63.05        |9.11  
Apr-02   |5.71       |53.88        |10.74

似乎已按字母顺序而不是按日期对csv文件进行了排序。另外,如果我滚动浏览Zoo系列,则会出现一行,它是csv文件中的列名。

任何帮助将不胜感激

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您不知道如何使用命令,请仔细阅读帮助文件-在这种情况下为?read.zoo。动物园附带的一个插图也专门介绍了read.zoo示例:vignette("zoo-read")。另外,在这里查看?yearmon也很有用。

假设输入文件在末尾的注释中可重复显示,而不是在问题中显示,则该文件不应具有.csv扩展名,因为它不是一个csv文件;但是,忽略了以下内容。

header = TRUE说第一行是标题,FUN = as.yearmon说我们想将第一列转换为yearmon类时间索引,format指定其格式(使用?strptime中定义的百分比代码。

library(zoo)

read.zoo("all_prices.csv", header = TRUE, FUN = as.yearmon, format = "%d/%m/%Y")

给予:

         VBLTX FMAGX SBUX
Jan 1998  4.36 44.38 4.30
Feb 1998  4.34 47.74 4.66
Mar 1998  4.35 47.74 5.33

注意

Lines <- "
Date      VBLTX      FMAGX        SBUX  
1/01/1998 4.36       44.38        4.3  
1/02/1998 4.34       47.74        4.66  
1/03/1998 4.35       47.74        5.33
"
cat(Lines, file = "all_prices.csv")