On Thu, 9 Aug 2012, jpm miao wrote:

Hi,

  Part of my program is to calculate the number of time series in a zoo
object. It works well if it has more than one time series, but it fails if
it has only one. How can I access the number of column (i.e. the number of
time series) when I have only one column? Why is the number of an object of
only one object "NULL"? It should be one, shouldn't it? (The following
example does not involve the creation of a zoo object; in reality, similar
problems are encountered when I create a zoo object)

Univariate zoo series are by default vectors, i.e., have no "dim" attribute. You can either choose to store a matrix instead of a vector in the zoo series - or you can use NCOL() instead of ncol() to extract the number of columns. See the corresponding manual pages for more details. An illustration is included below:

## univariate series

R> x <- sin(1:4)
R> z <- zoo(x)
R> z
         1          2          3          4
 0.8414710  0.9092974  0.1411200 -0.7568025
R> dim(z)
NULL
R> ncol(z)
NULL
R> NCOL(z)
[1] 1

## alternatives to create a 1-column matrix instead of a vector

R> z1 <- zoo(matrix(x, ncol = 1))
R> z1

1  0.8414710
2  0.9092974
3  0.1411200
4 -0.7568025
R> dim(z1)
[1] 4 1

R> dim(z) <- c(NROW(z), NCOL(z))
R> z

1  0.8414710
2  0.9092974
3  0.1411200
4 -0.7568025
R> dim(z)
[1] 4 1


temp5<-read.csv("A_Consumption.csv", header=TRUE)> temp5[1:3,]    TIME     C  
C_D  C_ND
1 196101 70345 1051 69294
2 196102 61738  905 60833
3 196103 63838  860 62978> temp6<-temp5[,2:ncol(temp5)]> temp6[1:3,]
  C  C_D  C_ND
1 70345 1051 69294
2 61738  905 60833
3 63838  860 62978> colnames(temp6)[1] "C"    "C_D"  "C_ND">
temp7<-read.csv("A_FX_EUR_Q.csv", header=TRUE)> temp7[1:3,]    TIME
EUR
1 198001 1.41112
2 198002 1.39108
3 198003 1.42323> temp8<-temp7[,2:ncol(temp7)]> temp8[1:3,]Error in
temp8[1:3, ] : incorrect number of dimensions

ncol(temp6)[1] 3> ncol(temp8)   # Why isn't it 1?NULL

temp8  [1] 1.411120 1.391080 1.423230 1.342050 1.232870
 [6] 1.115090 1.032930 1.089250 1.036320 1.001850
[11] 0.950641 0.933593 0.947940 0.911204 0.860682
[16] 0.843864 0.831666 0.824776 0.768626 0.732064
[21] 0.684473 0.726018 0.784729 0.852911 0.922885
[26] 0.958778 1.012740 1.038160 1.124550 1.149780
[31] 1.128450 1.214120 1.233530 1.216270 1.113620
[36] 1.170250 1.126230 1.074330 1.078480 1.127870
[41] 1.205540 1.222740 1.296500 1.366550 1.341280
[46] 1.187600 1.176790 1.254490 1.262610 1.271820
[51] 1.385930 1.268130 1.190480 1.206840 1.150270
[56] 1.140010 1.125200 1.163450 1.226830 1.240210
[61] 1.273300 1.331010 1.312420 1.317350 1.287330
[66] 1.254500 1.274210 1.261930 1.178970 1.143500
[71] 1.093320 1.123400 1.086770 1.100380 1.117670
[76] 1.176960 1.121600 1.056900 1.048600 1.038000
[81] 0.986500 0.933200 0.905200 0.868300 0.923200
[86] 0.872500 0.890300 0.895900 0.876600 0.918800
[91] 0.983800 0.999400 1.073100 1.137200 1.124800
[96] 1.189000 1.249700 1.204600 1.222000 1.297700
[101] 1.311300 1.259400 1.219900 1.188400 1.202300
[106] 1.258200 1.274300 1.288700 1.310600 1.348100
[111] 1.373800 1.448600 1.497600 1.562200 1.505000
[116] 1.318000 1.302900 1.363200 1.430300 1.477900
[121] 1.382900 1.270800 1.291000 1.358300 1.368000
[126] 1.439100 1.412700 1.348200 1.310800 1.281400

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to