使用R将多个文本文件合并为一个时间序列

时间:2014-12-04 09:28:49

标签: r

这应该是r中的一个简单任务,但我似乎无法做到正确。我有多个文本文件,单列,没有标题。我只想将它们组合成一个时间序列。订单无关紧要。我试过以下:

library(zoo)
t1 <- read.table("t1.txt") # 3,5,4,..... 
t2 <- read.table("t2.txt") # 5,6,0,.....
so on...
m <- merge(t1 = as.zoo(t1), t2 = as.zoo(t2))

我明白了:

1  3  5
2  5  6
3  4  0
.  .  .
.  .  . 

但是我需要它像在单列中一样:

3
5
4
.
.

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

尝试

library(data.table)
files <- list.files(pattern="^t\\d+")
z1 <- as.zoo(rbindlist(lapply(files,fread)))

str(z1)
# ‘zoo’ series from 1 to 12
#  Data: int [1:12, 1] 3 5 1 5 7 9 3 4 9 7 ...
#- attr(*, "dimnames")=List of 2
# ..$ : NULL
#  ..$ : chr "Col1"
# Index:  int [1:12] 1 2 3 4 5 6 7 8 9 10 ...

更新

attr(z1, 'dimnames') <- NULL
attr(z1, 'index') <- NULL
str(z1)
#‘zoo’ series from  to 
#Data: int [1:12, 1] 3 5 1 5 7 9 3 4 9 7 ...
# Index:  NULL

 z1

#[1,] 3
#[2,] 5
#[3,] 1
#[4,] 5
#[5,] 7
#[6,] 9
#[7,] 3
#[8,] 4
#[9,] 9
#[10,] 7
#[11,] 7
#[12,] 9