Thanks for reading our edgeR 4.0 paper, and also for reading the User's Guide and the reference manual!
I think you're not reading the meaning of the help page and reference manual quite correctly.
First, let me note that the reference manual available from
https://www.bioconductor.org/packages/release/bioc/manuals/edgeR/man/edgeR.pdf
is simply a pdf collation of the help pages for all the functions in edgeR.
It gives exactly the same information that you would get from typing ?filterByExpr at the R prompt, which gives the help page just for that function.
The filterByExpr help page gives the following usage line:
filterByExpr(y, design = NULL, group = NULL, lib.size = NULL,
min.count = 10, min.total.count = 15, large.n = 10, min.prop = 0.7, ...)
which shows the default value of each argument, for example the default value of min.count is 10.
Arguments that are NULL in the argument definition have defaults that depend on the data, and which are explained in the documentation details.
You can see from the above usage line that only the y argument is compulsory in the function call because it is the only argument that doesn't have a default value.
(This is the same documentation convention that is used by all the base packages in R. The help pages for all the base functions in R can be read this way.)
Users will usually specify either design or group as well, but the other arguments are usually left at their defaults.
You say in your question that "in the reference manual it is written that the minimum count is required" but the word "required" in the min.count documentation simply refers to the fact that rows of the count matrix are required to satisfy this minimum, it doesn't mean that min.count is a required (compulsory) argument in the function call.
In the "quick start" example on page 11 of the edgeR User's Guide, y is a DGEList.
In this case, the group argument is read from the DGEList as group <- y$samples$group and all the other filterByExpr arguments are set to their defaults.
So in this case the call
keep <- filterByExpr(y)
is exactly equivalent to
keep <- filterByExpr(y, group=group, min.count=10)
I see that we have not explained on the help page how filterByExpr takes information from a DGEList object, so my apologies for that.
By default, filterByExpr extracts the library sizes and the experimental design from the DGEList.
Type
?filterByExprand read the details section which covers what the function does.