(1) Từ fileread.zoo
có thể mất một vector đặc trưng của tên tập tin như là đối số đầu tiên của nó vậy:
# create test files
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")
# read.zoo reads the files named in Filenames and merges them
library(zoo)
Filenames <- dir(pattern = "testzoo.*csv")
z <- read.zoo(Filenames, sep = ",", header = TRUE)
mang đến cho này:
> 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
Nó có thể sửa đổi tên thêm nếu muốn bằng cách đặt tên trên biến số Filenames
, ví dụ names(Filenames) <- gsub("testzoo|.csv", "", Filenames)
hoặc bằng cách sửa đổi tên của kết quả, ví dụ: names(z) <- gsub("testzoo|.csv", "", names(z))
(2) Từ zoo Objects. Nếu họ đã được đọc trong trước sau đó thử này:
# create test objects using Lines and library() statement from above
testobj1 <- testobj2 <- read.zoo(textConnection(Lines), header = TRUE, sep = ",")
# merge them into a single zoo object
zz <- do.call(merge, sapply(ls(pattern = "testobj.*"), get, simplify = FALSE))
mang đến cho này:
> zz
testobj1 testobj2
1951-01-01 22.9 22.9
1951-01-02 4.3 4.3
1951-01-03 4.6 4.6
Tên của zz
có thể được sửa đổi thêm như trong các cuộc thảo luận ở trên.
Nguồn
2011-09-01 15:10:18
cảm ơn, đây là cách rất gọn gàng để thực hiện! – sbg