У меня есть список элементов под названием "find_gaps", ниже первые 3 элемента списка:
$`2014-11-01 00:33:18`
1 1 1 1 1 1 1 1 1 118
$`2014-11-01 01:35:58` 1 1 1 1 1 1 1 1 1 116
$`2014-11-01 02:34:28` 1 25 25
Я хочу найти значения, превышающие или равные 24 в каждом элементе, и получить результат в виде фрейма данных, в котором каждый столбец содержит строки, равные количеству значений, превышающих 24 для каждого элемента списка. Например, первый элемент в «find_gaps» будет соответствовать столбцу кадра данных, имеющему только одну строку (со значением 118). Я уверен, что есть способ сделать это, я использовал приведенный ниже код, но я получаю только позицию / индекс значения в каждом элементе списка больше 24, а не само значение:
greater_than_24<-lapply(find_gaps,function(x)which(x>=24))
2 ответа
greater_than_24<-unlist(lapply(find_gaps,function(x) length(which(x>=24))))
> as.data.frame(t(greater_than_24))
V1 V2 V3
1 1 1 2
В качестве альтернативы - это приведет к значениям больше 24 в каждом элементе списка:
greater_than_24<-lapply(find_gaps,function(x) x[which(x>=24)])
> as.data.frame(t(greater_than_24))
V1 V2 V3
1 118 116 25, 25
На этот вопрос уже есть принятый ответ, и OP сообщил, что он ожидает вывода в широкой форме .
Тем не менее, я хотел бы предложить другой подход, который возвращает результат в полной форме (включая имена элементов списка). Я надеюсь, что ОП сочтет это альтернативное представление результата полезным.
library(data.table)
data.table(find_gaps, name = names(find_gaps))[
, .(value = unlist(find_gaps)), by = name][value > 24]
name value 1: 2014-11-01 00:33:18 118 2: 2014-11-01 01:35:58 116 3: 2014-11-01 02:34:28 25 4: 2014-11-01 02:34:28 25
Похожие вопросы
Новые вопросы
r
R - это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, предоставьте минимальные и воспроизводимые примеры вместе с желаемым результатом. Используйте dput () для данных и укажите все небазовые пакеты с вызовами library (). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. По вопросам, связанным со статистикой, используйте https://stats.stackexchange.com.