Вы можете использовать тот факт, что данные в объекте xts являются матрицами.Таким образом, вы можете просто использовать матричные вычисления и умножить XTS_logical на XTS_integers
XTS_outcome <- XTS_logical * XTS_integers
XTS_outcome
Col1 Col2
2017-06-30 5 0
2017-07-31 0 3
2017-08-31 5 9
Если вы хотите 0 в качестве NA, вы можете сделать XTS_outcome[XTS_outcome == 0] <- NA
.
данные:
XTS_logical <- structure(c(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE), .Dim = 3:2, .Dimnames = list(
NULL, c("Col1", "Col2")), index = structure(c(1498780800,
1501459200, 1504137600), tzone = "UTC", tclass = "Date"), class = c("xts",
"zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC")
XTS_integers <- structure(c(5L, 2L, 5L, 6L, 3L, 9L), .Dim = 3:2, .Dimnames = list(
NULL, c("Col1", "Col2")), index = structure(c(1498780800,
1501459200, 1504137600), tzone = "UTC", tclass = "Date"), class = c("xts",
"zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC")