@ Florian Maas,你的意思是,(colnames(mtcars) 中的 col){ limits = data.frame(am = unique(mtcars$am)) limits$lower = lapply(limits$am, function (x) 分位数(mtcars$col[mtcars$am==x],0.25) - 1.5 * (分位数(mtcars$col[mtcars$am==x],0.75)- 分位数(mtcars$col[mtcars$am= =x],0.25)) )limits$upper = lapply(limits$am, function(x) quantile(mtcars$col[mtcars$am==x],0.75) + 1.5 * (quantile(mtcars$col[mtcars$ am==x],0.75)- 分位数(mtcars$col[mtcars$am==x],0.25)) ) df = mtcars %>% left_join(limits) df$col = ifelse(df$coldf$upper,NA,df$col) df = df %>% select(-upper,-lower)}