% if(n_total > 0) { %> <% if(n_used > 0) { %>
In total, <%=pkg$package%> has <%=n_total%> upstream package<%=ifelse(n_total > 1, 's', '')%>. Only <%=n_used%> upstream packages with heaviness on <%=pkg$package%> larger than 5 are listed in the following table. Note all 14 base packages (base, compiler, datasets, graphics, grDevices, grid, methods, parallel, splines, stats, stats4, tcltk, tools and utils) are removed from this table.
Dependency path: the shortest path from upstream package to <%=pkg$package%> in the global dependency graph. The form of A→
kB means package A contribute a direct heaviness of k on package B.
Heaviness from upstream on <%=pkg$package%>: number of required packages that can be reduced if moving upstream package to Suggests
of all its child package. Denote $n_{1k}$ as the number of strong dependencies of <%=pkg$package%>. Since the upstream package can affect <%=pkg$package%> in an indirect manner, we recalculate the global dependency relations for all packages after moving the corresponding upstream package to all its child packages' Suggests
. Then we denote $n_{2k}$
as the number of strong dependencies of <%=pkg$package%> in the modified dependency graph. The heaviness from upstream package is calculated as $n_{1k} - n_{2k}$.
Dependency paths in the table are merged as the following graph with <%=length(unique(c(nt[, 1], nt[, 2])))%> nodes and <%=nrow(nt)%> edges. Reset graph | Horizontal layout
There are the two notes for the following graph:
k1
heaviness from A to B are not necessarily all passed to package C, although most of them should be.In total there are <%=n_total%> upstream dependencies, but no upstream package has heaviness larger than 5 on '<%=pkg$package%>'.
<% } %> <% } else { %>No upstream dependency (not including base packages) found.
<% } %>