Мы перебираем list
, подставляем в столбец grep
, проверяем, равно ли это 4, и используем which
, чтобы получить позицию
lapply(my_list, function(x) which(x[, grep("\\.Positivedata", names(x))] == 4))
Если естьнесколько столбцов, тогда было бы лучше получить индекс строки / столбца
lapply(my_list, function(x)
which(x[, grep("\\.Positivedata", names(x))] == 4, arr.ind = TRUE))
Если мы хотим, чтобы имя столбца было среди столбцов, которые .Positivedata
имеют значение '4'
sapply(my_list, function(x) {
nm1 <- grep("\\.Positivedata", names(x), value = TRUE)
nm1[sapply(x[nm1], function(x) any(x==4))]
})