(1) 从文件中读取 read.zoo
可以将文件名作为其第一个参数的字符向量,因此:
Lines <- '"Index","pp"
1951-01-01,22.9
1951-01-02,4.3
1951-01-03,4.6'
cat(Lines, file = "testzoo01.csv")
cat(Lines, file = "testzoo02.csv")
library(zoo)
Filenames <- dir(pattern = "testzoo.*csv")
z <- read.zoo(Filenames, sep = ",", header = TRUE)
这将产生以下结果:
> z
testzoo01.csv testzoo02.csv
1951-01-01 22.9 22.9
1951-01-02 4.3 4.3
1951-01-03 4.6 4.6
可以通过在
Filenames
变量上放置名称来进一步修改名称,例如
names(Filenames) <- gsub("testzoo|.csv", "", Filenames)
,或通过修改结果的名称,例如
names(z) <- gsub("testzoo|.csv", "", names(z))
。从
zoo对象中获取数据,如果它们已经被先前读取,则可以尝试以下操作:
testobj1 <- testobj2 <- read.zoo(textConnection(Lines), header = TRUE, sep = ",")
zz <- do.call(merge, sapply(ls(pattern = "testobj.*"), get, simplify = FALSE))
这将会得到这个结果:
> zz
testobj1 testobj2
1951-01-01 22.9 22.9
1951-01-02 4.3 4.3
1951-01-03 4.6 4.6
< p >如上讨论,< code >zz< /code >的名称可以进一步修改。< /p >