lm (linear regression) function generated un-removable outliers [closed]

I have performed linear regression (lm) on two modified p-value types: q-value and Benjamini-Hochberg. Results gives two astronomical outliers, however, after removal of those, new outliers are always present. Could someone please replicate the code and see if issue prevails? What could be the possible source of an issue?

Here is the full code for easy copy/paste:

install.packages("qvalue")
library(qvalue)

p = 50
m = 10
pval = c(rbeta(m,1,100), runif(p-m,0,1))

qval_ <- qvalue(pval)
print(qval_$pi0) fit2 <- lm(qval_$qvalues ~ BHpval)
plot(fit2)

• Why are you using regression for that? Why would you believe they would be linearly related? – Glen_b -Reinstate Monica Nov 12 at 6:25
• I believe you have asked a version of this question somewhere before -- (possibly on stackoverflow and perhaps from a different account). Please link to that question, since advice/comments given there will be highly relevant. – Glen_b -Reinstate Monica Nov 12 at 8:58

As a second step, one can attempt to create a normal distribution from the data. For example, if the data is log-normal, taking the logarithm and testing that for outliers should reduce the number of outliers substantially, and in the normal case near outliers occur for 0.698% of the realizations, whereas far outliers occur for only $$0.000234$$%.
As a third step, one can, for example, compute the binomial probability of an upper outlier being $$\geq$$ to the observed value. If that is significant (low probability $$\leq \alpha$$), only then is it likely an erratic outlier for that distribution.