我有一个缺少值的data.table,需要根据同一data.table中的其他行填充它们。我可以通过复制data.table并通过我试图填写的行中的唯一值进行过滤来实现这一点,但我认为必须有一种更优雅的方式来做到这一点而不需要使用这么多内存。由于列名混淆,我也不知道是否可以引用相同的data.table。
在此示例中,有一个doc编号,值和条目类型。如果可能,我需要解决方案包括文档编号和条目类型作为填写值的键。条目类型11从不具有值 - 该值可以使用条目类型16或类型NA存储。
test <- data.table(docnumber = c(100023,100024,100024,100024,
100025,100025,100026,100026),
value = c(15423,15428,NA,NA,
17832,NA,23162,NA),
type = c(16,16,11,12,NA,11,16,11)
)
test
以下是结果的样子:
results <- data.table(docnumber = c(100023,100024,100024,100024,100025,100025,100026,100026), value = c(15423,15428,15428,15428,17832,17832,23162,23162), type = c(16,16,11,12,NA,11,16,11))
results