我需要一种方法来用值 -9999 替换异常值。在我的数据中,-9999 表示缺少该值。这只是通常用于此类数据而不是 NA 的约定
我有一个名为 amf 的数据框,它有 43 列。我需要逐列并用 -9999 替换 99 个百分位以上和 1 个百分位以下的每个值。我需要跳过一些列,例如一年中的某一天。
我尝试过以各种方式使用 apply 和 lapply 函数,但我一定是错误地使用了它们。这是我尝试过的
amf_out <- apply(amf[,4:43],2, which(amf[,4:43] > quantile(amf[,4:43, .99)))
amf_out <- lapply(1:length(amf), function(i) amf[which(amf[,i] > quantile(amf[,1],.99))] <-
-9999)
amf[which(amf[,4:43] > quantile(amf[,4:43], .99))] <- -9999
这些都没有奏效。有什么建议么?