Я хочу создать подмножество списка объектов tis в R, но сталкиваюсь с ошибкой всякий раз, когда пытаюсь создать подмножество с логическим вектором, содержащим все записи FALSE.
Например, для данного объекта myTis:
library(tis)
myTis <- list(cbind(tis(1:10, start = c(2000, 1), freq = 12),
tis(101:110, start = c(2000, 1), freq = 12)),
cbind(tis(7:12, start = c(2000, 1), freq = 12),
tis(107:112, start = c(2000, 1), freq = 12)))
Если я хочу найти все строки всех элементов myTis, где первый столбец больше 11, это легко сделать с помощью:
myTis %>% lapply(function(x) x[x[,1] < 11,])
Но когда я пытаюсь подмножить его для некоторого значения, исключающего все элементы одного из объектов tis, я получаю следующую ошибку: «Ошибка в if (! возможно) return(FALSE): отсутствует значение, где TRUE/FALSE нужно”. Например, эта ошибка возникает в результате выполнения этой строки:
myTis %>% lapply(function(x) x[x[,1] < 7,])
Следует отметить, что я не получаю ошибку, когда пытаюсь сделать что-то подобное с одним объектом tis:
myTis[myTis[[1]][,1] > 10]
Я также открыт для совершенно разных способов сделать это с этими объектами.