请帮助!
我有一个具有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文件中的列名。
任何帮助将不胜感激
谢谢!
答案 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")