用缺失值填充的数据框 - complete() 函数

问题描述

我有一个包含 30 个样本的初始数据框 df,包含以下列:

  1. ID : chr "ACAGA" "GTCGA" "GTCGA" "ACAGT" ...
  2. 值:数量 1.40 2.28 0.39 1.32 ..
  3. 维度:int 119 716 626 114 ...

在此 df 数据框中,每个 ID 都重复多次。

然后我创建了一个名为 df2 的第二个数据框,只选择那些值 > 1.3 的 ID,并对每个 ID 的所有维度求和。

df2 = df[value > 1.3,.(dim = sum(dimension)),by = ID] 

新数据帧 df2 没有来自 df 的所有初始 ID。特别是,我想在 df2 数据框中添加 4 个缺失的 ID,并将它们的 dim 值设置为 0。

我尝试使用 tidyr 包中的 complete() 函数,但我编写的代码不起作用:

complete(df2,dim,fill = list(count = 0))

你知道我应该如何使用 complete() 来达到我想要的结果吗?

解决方法

尝试 complete 如下 -

df2 <- tidyr::complete(df2,ID = unique(df$ID),fill = list(dim = 0))