[R] [datatable-help] Error in structure(ordered, dim = ns) : dims [product 1] do not match the length of object [0]

William Dunlap wdunlap at tibco.com
Tue Jan 21 23:45:22 CET 2014


You probably want to use %w instead of %u.  On Linux 'man strftime' says
       %w     The day of the week as a decimal, range 0 to 6, Sunday being  0.
              See also %u.
       %u     The day of the week as a decimal, range 1 to 7, Monday being  1.
              See also %w.  (SU)
where "(SU)" means "according to the Single Unix specification" and the lack
of "(...)" after %w means it is in some year's ANSI C standard.   I assume Windows
does not attempt to subscribe to the Single Unix standard.

Bill Dunlap
TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of William Dunlap
> Sent: Tuesday, January 21, 2014 2:33 PM
> To: arun; R help
> Subject: Re: [R] [datatable-help] Error in structure(ordered, dim = ns) : dims [product 1]
> do not match the length of object [0]
> 
> When I use R-3.0.2 on Windows 7 the %u descriptor for format.Date() always
> gives "", while on Linux in gives as.character(day-of-the-week).  The resulting NA's
> on Windows could be the source of your problem.
> 
> On Linux I get:
>    > format(as.Date(c("2014-01-21", "2014-01-22", "2014-01-28")), "%u")
>    [1] "2" "3" "2"
>    > as.numeric(.Last.value)
>    [1] 2 3 2
>    > cat(version$version.string, "on", version$platform, "\n")
>    R version 3.0.2 (2013-09-25) on x86_64-unknown-linux-gnu
> 
> while on Windows:
>   > format(as.Date(c("2014-01-21", "2014-01-22", "2014-01-28")), "%u")
>   [1] "" "" ""
>   > as.numeric(.Last.value)
>   [1] NA NA NA
>   > cat(version$version.string, "on", version$platform, "\n")
>   R version 3.0.2 (2013-09-25) on x86_64-w64-mingw32
> 
> > d <- subset(d, date==next_friday)
> > d <- ddply(d, "id", mutate,
> >            previous_price = lag(xts(price,date)),
> >            log_return    = log(price / previous_price),
> >            simple_return = price / previous_price - 1
> > )
> > d <- dcast(d, date ~ id, value.var="simple_return")
> 
> I you didn't reuse the same name, d, for the result of all these
> steps it would be easier to poke through the intermediate
> results to see where the trouble began (the output of subset()
> is a 0-row data.frame and dcast() dies when its input has
> zero rows).
> 
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
> 
> 
> > -----Original Message-----
> > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> > Of arun
> > Sent: Tuesday, January 21, 2014 12:48 PM
> > To: R help
> > Subject: Re: [R] [datatable-help] Error in structure(ordered, dim = ns) : dims [product 1]
> > do not match the length of object [0]
> >
> > Hi,
> > Couldn't reproduce the error after running your code:
> >  d <- dcast(d, date ~ id, value.var="simple_return")
> >  dim(d)
> > #[1] 356   9
> >  sessionInfo()
> > R version 3.0.2 (2013-09-25)
> > Platform: x86_64-unknown-linux-gnu (64-bit)
> >
> > locale:
> >  [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C
> >  [3] LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8
> >  [5] LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8
> >  [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C
> >  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> > [11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
> >
> > attached base packages:
> > [1] stats     graphics  grDevices utils     datasets  methods   base
> >
> > other attached packages:
> > [1] plyr_1.8       quantmod_0.4-0 TTR_0.22-0     xts_0.9-7      zoo_1.7-10
> > [6] Defaults_1.1-1 stringr_0.6.2  reshape2_1.2.2
> >
> > loaded via a namespace (and not attached):
> > [1] grid_3.0.2      lattice_0.20-23
> >
> >
> > A.K.
> >
> >
> > On Tuesday, January 21, 2014 2:57 PM, rcse2006 <rcse2006 at gmail.com> wrote:
> > Trying to run below code.
> >
> > library(quantmod)
> > symbols <- c("AAPL", "DELL", "GOOG", "MSFT", "AMZN", "BIDU", "EBAY", "YHOO")
> > d <- list()
> > for(s in symbols) {
> >   tmp <- getSymbols(s, auto.assign=FALSE, verbose=TRUE)
> >   tmp <- Ad(tmp)
> >   names(tmp) <- "price"
> >   tmp <- data.frame( date=index(tmp), id=s, price=coredata(tmp) )
> >   d[[s]] <- tmp
> > }
> > d <- do.call(rbind, d)
> > d <- d[ d$date >= as.Date("2007-01-01"), ]
> > rownames(d) <- NULL
> >
> > # Weekly returns
> > library(plyr)
> > library(reshape2)
> > d$next_friday <- d$date - as.numeric(format(d$date, "%u")) + 5
> > d <- subset(d, date==next_friday)
> > d <- ddply(d, "id", mutate,
> >            previous_price = lag(xts(price,date)),
> >            log_return    = log(price / previous_price),
> >            simple_return = price / previous_price - 1
> > )
> > d <- dcast(d, date ~ id, value.var="simple_return")
> >
> > Getting error
> >
> > > d <- dcast(d, date ~ id, value.var="simple_return")
> > Error in structure(ordered, dim = ns) :
> >   dims [product 1] do not match the length of object [0]
> >
> > Please help me how to use ddply and dcast or using other similar function to
> > get same data.
> >
> >
> >
> > --
> > View this message in context: http://r.789695.n4.nabble.com/Error-in-structure-
> > ordered-dim-ns-dims-product-1-do-not-match-the-length-of-object-0-tp4683923.html
> > Sent from the datatable-help mailing list archive at Nabble.com.
> > _______________________________________________
> > datatable-help mailing list
> > datatable-help at lists.r-forge.r-project.org
> > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
> >
> >
> > ______________________________________________
> > R-help at 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 at 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.




More information about the R-help mailing list