根据另一个数据框中的单元格引用删除一个数据框中的值

时间:2018-06-02 11:07:55

标签: r

我确定这很简单但无法找到答案。我有一个数据框df:

df <- data.frame(replicate(10,sample(0:10,1000,rep=TRUE)))

然后我有另一个较小的数据框,其中有单元格引用(行号和列号),指的是df中应该为空的特定单元格(即NA):

cellRefs <- data.frame(replicate(2,sample(1:10,10,rep=TRUE)))

如何将db中的所有单元替换为来自cellRefs的行和列引用引用的NA?

2 个答案:

答案 0 :(得分:3)

我们可以转换&#39; cellRefs&#39;进入matrix并用作行/列索引以在&#39; df&#39;中分配这些元素到NA

df[as.matrix(cellRefs)] <- NA

答案 1 :(得分:1)

也许不是最快的方法,但它适用于跨越cellRefs行的循环。

for (i in 1:nrow(cellRefs)){
  df[cellRefs[i,1],cellRefs[i,2]] = NA
}