#r #dataframe #tidyr #missing-data
Вопрос:
У меня есть начальный df
кадр данных с 30 образцами, со следующими столбцами:
- Идентификатор : chr «ACAGA» «GTCGA» «GTCGA» «ACAGT» …
- значение : число 1.40 2.28 0.39 1.32 ..
- размер : int 119 716 626 114 …
В этом df
кадре данных каждый идентификатор повторяется несколько раз.
Затем я создал второй фрейм данных с именем df2
, выбрав только те идентификаторы, которые имеют значение > 1.3, и суммировав все измерения для каждого идентификатора.
df2 = df[value > 1.3, .(dim = sum(dimension)), by = ID]
В новом df2
фрейме данных нет всех исходных идентификаторов df
. В частности, есть 4 отсутствующих идентификатора, которые я хотел бы добавить в df2
фрейм данных и установить их dim
значение равным 0.
Я пытался использовать complete()
функцию из пакета tidyr, но написанный мной код не работает:
complete(df2, dim, fill = list(count = 0))
Знаете ли вы, как я должен использовать complete() для достижения желаемого результата?
Ответ №1:
Попробуйте complete
сделать следующее —
df2 <- tidyr::complete(df2, ID = unique(df$ID), fill = list(dim = 0))