I have a list, with each member being a stock, and various fields of historical bloomberg data. For example:
> head(isData[[2]])
        date CUR_MKT_CAP OPERATING_INCOME_SEQ_GROWTH OPER_ROE PX_LAST SHORT_AND_LONG_TERM_DEBT
1 1999-12-31          NA                          NA       NA   62.33                       NA
2 2000-01-01          NA                          NA       NA   62.33                       NA
3 2000-01-02          NA                          NA       NA   62.33                       NA
4 2000-01-03          NA                          NA       NA   62.93                       NA
5 2000-01-04          NA                          NA       NA   61.88                       NA
I am creating from this list 5 xts objects, each containing the particular data point of every stock at every day in the past:
oigIS <- do.call(merge.xts, lapply(isData, function(x) {
  if(!(is.null(x$OPERATING_INCOME_SEQ_GROWTH)))
    xts(x$OPERATING_INCOME_SEQ_GROWTH/100, order.by = x[,1])
}))
This works well, creating a structure as I would expect:
> head(oigIS)[,1:5]
           ALPI.IS.Equity ACC.IS.Equity AHOT.IS.Equity AJP.IS.Equity X3M.IS.Equity
1999-12-31             NA            NA             NA            NA      1.712294
2000-01-01             NA            NA             NA            NA      1.712294
2000-01-02             NA            NA             NA            NA      1.712294
2000-01-03             NA            NA             NA            NA      1.712294
2000-01-04             NA            NA             NA            NA      1.712294
2000-01-05             NA            NA             NA            NA      1.712294
HOWEVER, this creates duplicate entries on some dates:
> head(oigIS['200301/200302'],10)[,1:5]
           ALPI.IS.Equity ACC.IS.Equity AHOT.IS.Equity AJP.IS.Equity X3M.IS.Equity
2003-01-01             NA            NA             NA            NA      0.133008
2003-01-01             NA            NA             NA            NA            NA
2003-01-02             NA            NA             NA            NA      0.133008
2003-01-02             NA            NA             NA            NA            NA
2003-01-03             NA            NA             NA            NA      0.133008
2003-01-03             NA            NA             NA            NA            NA
2003-01-04             NA            NA             NA            NA      0.133008
2003-01-04             NA            NA             NA            NA            NA
2003-01-05             NA            NA             NA            NA      0.133008
2003-01-05             NA            NA             NA            NA            NA
So how do I stop this??
I assumed the time must not match up or some such nonsense, so I tried to strip out the time:
oigIS <- do.call(merge.xts, lapply(isData, function(x) {
  if(!(is.null(x$OPERATING_INCOME_SEQ_GROWTH)))
    xts(x$OPERATING_INCOME_SEQ_GROWTH/100, order.by = as.Date(format(x[,1], '%Y-%m-%d')))
}))
But this did not work:
> head(oigIS['200301/200302'],10)[,8:13]
           X3M.IS.Equity ALST.IS.Equity AKOP.IS.Equity ADCIC.IS.Equity ABAN.IS.Equity AMRJ.IS.Equity
2003-01-01      0.133008             NA             NA        0.086917             NA       0.175158
2003-01-01            NA             NA             NA              NA             NA             NA
2003-01-02      0.133008             NA             NA        0.086917             NA       0.175158
2003-01-02            NA             NA             NA              NA             NA             NA
2003-01-03      0.133008             NA             NA        0.086917             NA       0.175158
2003-01-03            NA             NA             NA              NA             NA             NA
2003-01-04      0.133008             NA             NA        0.086917             NA       0.175158
2003-01-04            NA             NA             NA              NA             NA             NA
2003-01-05      0.133008             NA             NA        0.086917             NA       0.175158
2003-01-05            NA             NA             NA              NA             NA             NA
Any ideas???
 
    