В R я хотел бы искать каждую ячейку в столбце, где столбец содержит серию списков. Я хотел бы вернуть индекс (или вернуть T / F) для ячеек, которые содержат определенное значение.
Например - я создал этот тестовый фрейм данных.
test <- data.frame(rows = 1:5, values = 0)
test$values <- list(1, c(2,3), c(4:6), 4, 0)
Попытка запросить его с помощью:
test[4 %in% test$values,]
В этом примере я хотел бы вернуть ячейки, содержащие значение 4 (поэтому строки 3 и 4 должны быть истинными). Как мне это сделать? Мой текущий запрос возвращает только одно ИСТИНА, поскольку он просто проверяет весь столбец (не каждую ячейку в этом столбце).
В прошлом я решил эту проблему с помощью цикла for (примерно как ниже). например:
test$result <- FALSE
for (i in 1:nrow(test)){
if (4 %in% test$values[i]){
test$result[i] <- TRUE
}
}
Я действительно не хочу, чтобы это было моим решением каждый раз, когда мне нужно сделать такой запрос.