I would like to apply the `p.adjust`

function in R where n is < number of p-values. The real number of independent tests is lower than the number of p-values as it cames from genomic data with Linkage Desequilibrium:

However, the `p.adjust`

function do not allows it: number of comparisons, must be at least length(p).

Someone knows how to change this default in function or other generic function to accomplish similar work? Thank you!

Followed Steps:

1 - 3242 tested markers = 3242 p-values

2 - Inferred Meff is: 1096 (http://simplem.sourceforge.net/ procedure)

Now I need to estimate the corrected treshould or corrected p-values based on Meff.

I am not sure which multiple test correction strategy fits better or how to apply it in my data.

I don't think the methods implemented in

`p.adjust()`

are appropriate for your use case.I described more details about my analysis. Some idea of suitable strategy from now?

Don't they propose in their 2010 paper that one can use Meff in bonferroni or Sidak correction? Those are simple enough to just directly calculate (they'd be a single line in R).

Yes: "The idea of Meff-based approaches is simple: "filter out" the correlation among tests, leaving only the effective number of independent ones, Meff, and then use the Bonferroni or the Šidák correction by replacing M with Meff in the corresponding formula." (GAO et. al, 2010) -> http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2796708/#R4. Would you think that it can be applied to "FDR" also?

Both Sidak and Bonferroni thresholds will be similar (~4.68e-5 and ~4.56e-5, respectively, assuming the stereotypical 0.05 threshold), though the former is probably a bit more preferable to use simply due to it not being as overly conservative.