这应该是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
.
.
有什么建议吗?
答案 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