[R] cbind giving NA's?

Petr PIKAL petr.pikal at precheza.cz
Fri Aug 26 13:58:42 CEST 2011


Hi

> 
> On 26 August 2011 03:37, R. Michael Weylandt 
<michael.weylandt at gmail.com> wrote:
> > If you could, dput() them so we can see everything about them. You 
also
> > might see if merge() gives you more expected behavior....
> 
> Ok...
> > dput(a)
> structure(c(7.6343, 7.6343, 7.5458, 7.4532, 7.404, 7.3317), class = 
c("xts",
> "zoo"), .indexCLASS = "Date", .indexTZ = "", index = 
structure(c(1270105200,
> 1270191600, 1270278000, 1270364400, 1270450800, 1270537200), tzone =
> "", tclass = "Date"), .Dim = c(6L,
> 1L), .Dimnames = list(NULL, "ZWD.UGX"))
> > dput(b)
> structure(c(28.02, 28.3, 28.38, 28.21, 28.31, 28.47), .indexCLASS =
> "Date", .indexTZ = "", src = "yahoo", updated =
> structure(1314356091.21457, class = c("POSIXct",
> "POSIXt")), class = c("xts", "zoo"), index = structure(c(1270072800,
> 1270418400, 1270504800, 1270591200, 1270677600, 1270764000), tzone =
> "", tclass = "Date"), .Dim = c(6L,
> 1L), .Dimnames = list(NULL, "SCHB.Close"))
> > merge(a,b)
> > merge(a,b)
>            ZWD.UGX SCHB.Close
> 2010-04-01      NA      28.02
> 2010-04-01  7.6343         NA
> 2010-04-02  7.6343         NA
> 2010-04-03  7.5458         NA
> 2010-04-04  7.4532         NA
> 2010-04-05      NA      28.30
> 2010-04-05  7.4040         NA
> 2010-04-06      NA      28.38
> 2010-04-06  7.3317         NA
> 2010-04-07      NA      28.21
> 2010-04-08      NA      28.31
> 2010-04-09      NA      28.47
> > q()

I get slightly different result

> xx<-(merge(a,b))
> xx
           ZWD.UGX SCHB.Close
1270072800      NA      28.02
1270105200  7.6343         NA
1270191600  7.6343         NA
1270278000  7.5458         NA
1270364400  7.4532         NA
1270418400      NA      28.30
1270450800  7.4040         NA
1270504800      NA      28.38
1270537200  7.3317         NA
1270591200      NA      28.21
1270677600      NA      28.31
1270764000      NA      28.47

but from what you want it seems to me that aggregate could be suitable 
second step.

something like

aggregate(xx, list(those dates you have but I don't), mean, na.rm=T)

could do what you want.

Regards
Petr



> 
> So, no, merge doesn't work...
> -- 
> Sent from my mobile device
> Envoyait de mon telephone mobil
> 
> ______________________________________________
> 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