[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:32:48 CET 2014


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.




More information about the R-help mailing list