替换 R 中的特定值

Replace specific value in R

我知道这应该很容易,但不知何故我被困住了 我正在尝试消除异常值,将其替换为 NA dat是我的数据,value是我要修改的

dat[dat$i_huvisfatin_v00 == 16527.98, "i_huvisfatin_v00"] <- NA

Error in `[<-.data.frame`(`*tmp*`, dat$i_huvisfatin_v00 == 16527.98, "i_huvisfatin_v00",  : 
  missing values are not allowed in subscripted assignments of data frames

dat[dat$i_huvisfatin_v00 == "16527.98", "i_huvisfatin_v00"] <- NA

Error in `[<-.data.frame`(`*tmp*`, dat$i_huvisfatin_v00 == 16527.98, "i_huvisfatin_v00",  : 
  missing values are not allowed in subscripted assignments of data frames


我做错了什么?

根据您的错误消息,可能是您的 dat$i_huvisfatin_v00 列不包含值 16527.98,或者该列中已有 NA

dat$i_huvisfatin_v00 == 16527.98 returns 一个逻辑向量,如果包含NA,则不能将其视为索引本身。在行索引中使用 which() 似乎可以解决问题。

dat[which(dat$i_huvisfatin_v00 == 16527.98), "i_huvisfatin_v00"] <- NA