Hi everyone and Achim,

   Achim, I appreciate your help about the function "NCOL". When I use
"NCOL" instead of "ncol", I can find out the number of columns (number of
time series) in the presence of only one time series (one variable, one
column).

   Now I want to know how I can find out the column names of the zoo
objects? In case of more than one time series, the function "colnames"
works, but not for the univariate time series.

   Thanks,

Miao

2012/8/9 Achim Zeileis <achim.zeil...@uibk.ac.at>

> 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<https://stat.ethz.ch/mailman/listinfo/r-help>
>> PLEASE do read the posting guide http://www.R-project.org/**
>> posting-guide.html <http://www.R-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>

        [[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.

Reply via email to