在我的data
下面,我想只替换NONE NA列yi
的值,其索引由ind
由Tuke_max
值给出,这是可能的(保持NA值不变)?
完全可复制的代码如下。
data <- read.csv("https://raw.githubusercontent.com/ilzl/i/master/j.csv")
first_third_QR <- with(data, fivenum(yi, na.rm = TRUE))[c(2,4)]
inter_QR <- with(data, IQR(yi, na.rm = TRUE))
Tukey_min <- first_third_QR[1] - (3 * inter_QR )
Tukey_max <- first_third_QR[2] + (3 * inter_QR )
ind <- with(data, yi < Tukey_min | yi > Tukey_max)
( yi_vec <- with(data, yi[ind]) ) # Replace the none NA `yi` values below in the `data`
# with Tukey_max (leave NAs untouched)
#[1] 4.122057 3.457194 3.071523 3.545027 4.454427 NA NA NA
#[9] NA NA NA NA NA NA NA 4.119231
#[17] 3.977800 6.412906
需要做两件事,以获得ind
与非NA
的结合,并通过数值进行索引,以便不将NA
作为索引。
一行程序将做。
data$yi[ which(ind & !is.na(data$yi)) ] <- Tukey_max