替换 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
我知道这应该很容易,但不知何故我被困住了 我正在尝试消除异常值,将其替换为 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