0

我的ts输出中的第一列是什么?我怎样才能删除它?

ts(matrix(c(NA,NA,NA,1:31,NA),byrow=T,5,7),frequency=7,
names=c("Sun"," Mon ","Tue", "Wen" ,"Thu"," Fri"," Sat"))->x

> x
Time Series:
Start = c(1, 1) 
End = c(1, 5) 
Frequency = 7 
         Sun  Mon  Tue Wen Thu  Fri  Sat
1.000000  NA    NA  NA   1   2    3    4
1.142857   5     6   7   8   9   10   11
1.285714  12    13  14  15  16   17   18
1.428571  19    20  21  22  23   24   25
1.571429  26    27  28  29  30   31   NA
4

4 回答 4

2

这是 tsp 属性:

 ?ts
 ?tsp

 tsp(x) <- NULL
> x
     Sun  Mon  Tue Wen Thu  Fri  Sat
[1,]  NA    NA  NA   1   2    3    4
[2,]   5     6   7   8   9   10   11
[3,]  12    13  14  15  16   17   18
[4,]  19    20  21  22  23   24   25
[5,]  26    27  28  29  30   31   NA

请注意,ts 类对象需要 tsp 属性,因此x不再是 ts 类对象。

于 2013-10-30T07:27:11.037 回答
1

您的第一列仍然是NA 5 12 19 26您可以使用x[,1]. 但是,因为你说frequency=7你得到了那些分数。如果frequency=1您想获得整数作为时间,请使用

ts(matrix(c(NA,NA,NA,1:31,NA),byrow=T,5,7),frequency=1,
   + names=c("Sun"," Mon ","Tue", "Wen" ,"Thu"," Fri"," Sat"))->x
x
Time Series:
Start = 1 
End = 5 
Frequency = 1 
  Sun  Mon  Tue Wen Thu  Fri  Sat
1  NA    NA  NA   1   2    3    4
2   5     6   7   8   9   10   11
3  12    13  14  15  16   17   18
4  19    20  21  22  23   24   25
5  26    27  28  29  30   31   NA
于 2013-10-30T07:34:30.880 回答
1

第一列来自frequency=7论点。它是时间 1, 1+1/7, 1+2/7, ... 您可以通过使用frequency=1或省略频率参数来更改它。

于 2013-10-30T07:27:18.683 回答
0

只需将其用作普通矩阵

y <- x[,2:7]
于 2013-10-30T07:26:07.973 回答