Closed genmeblog closed 5 months ago
To make it easy to search for a symbol across all installed packages, maybe we can write a nice wrapper of the help.search function.
> help.search("glance")
Help files with alias or concept or title matching ‘glance’ using fuzzy
matching:
ape::balance Balance of a Dichotomous Phylogenetic Tree
Aliases: balance
bit::bbatch Balanced Batch sizes
broom::data.frame_tidiers
Tidiers for data.frame objects
Aliases: glance.data.frame
broom::durbinWatsonTest_tidiers
Tidy/glance a(n) durbinWatsonTest object
Aliases: glance.durbinWatsonTest
broom::finish_glance Add logLik, AIC, BIC, and other common
measurements to a glance of a prediction
Aliases: finish_glance
broom::glance_optim Tidy a(n) optim object masquerading as list
Aliases: glance_optim, glance.optim
broom::glance.aareg Glance at a(n) aareg object
Aliases: glance.aareg
broom::glance.Arima Glance at a(n) Arima object
Aliases: glance.Arima
broom::glance.betareg Glance at a(n) betareg object
Aliases: glance.betareg
broom::glance.biglm Glance at a(n) biglm object
Aliases: glance.biglm
broom::glance.binDesign
Glance at a(n) binDesign object
Aliases: glance.binDesign
broom::glance.cch Glance at a(n) cch object
Aliases: glance.cch
broom::glance.coxph Glance at a(n) coxph object
Aliases: glance.coxph
broom::glance.cv.glmnet
Glance at a(n) cv.glmnet object
Aliases: glance.cv.glmnet
broom::glance.ergm Glance at a(n) ergm object
Aliases: glance.ergm
broom::glance.factanal
Glance at a(n) factanal object
Aliases: glance.factanal
broom::glance.felm Glance at a(n) felm object
Aliases: glance.felm
broom::glance.fitdistr
Glance at a(n) fitdistr object
Aliases: glance.fitdistr
broom::glance.gam Glance at a(n) gam object
Aliases: glance.gam
broom::glance.Gam Glance at a(n) Gam object
Aliases: glance.Gam
broom::glance.garch Tidy a(n) garch object
Aliases: glance.garch
broom::glance.glm Glance at a(n) glm object
Aliases: glance.glm
broom::glance.glmnet Glance at a(n) glmnet object
Aliases: glance.glmnet
broom::glance.glmRob Glance at a(n) glmRob object
Aliases: glance.glmRob
broom::glance.gmm Glance at a(n) gmm object
Aliases: glance.gmm
broom::glance.ivreg Glance at a(n) ivreg object
Aliases: glance.ivreg
broom::glance.kmeans Glance at a(n) kmeans object
Aliases: glance.kmeans
broom::glance.lavaan Glance at a(n) lavaan object
Aliases: glance.lavaan
broom::glance.lm Glance at a(n) lm object
Aliases: glance.lm, glance.summary.lm
broom::glance.lmodel2 Glance at a(n) lmodel2 object
Aliases: glance.lmodel2
broom::glance.lmRob Glance at a(n) lmRob object
Aliases: glance.lmRob
broom::glance.Mclust Glance at a(n) Mclust object
Aliases: glance.Mclust
broom::glance.mjoint Glance at a(n) mjoint object
Aliases: glance.mjoint
broom::glance.muhaz Glance at a(n) muhaz object
Aliases: glance.muhaz
broom::glance.multinom
Glance at a(n) multinom object
Aliases: glance.multinom
broom::glance.nlrq Glance at a(n) nlrq object
Aliases: glance.nlrq
broom::glance.nls Glance at a(n) nls object
Aliases: glance.nls
broom::glance.orcutt Glance at a(n) orcutt object
Aliases: glance.orcutt
broom::glance.plm Glance at a(n) plm object
Aliases: glance.plm
broom::glance.poLCA Augment data with information from a(n) poLCA
object
Aliases: glance.poLCA
broom::glance.pyears Glance at a(n) pyears object
Aliases: glance.pyears
broom::glance.ridgelm Glance at a(n) ridgelm object
Aliases: glance.ridgelm
broom::glance.rlm Glance at a(n) rlm object
Aliases: glance.rlm
broom::glance.rq Glance at a(n) rq object
Aliases: glance.rq
broom::glance.smooth.spline
Tidy a(n) smooth.spine object
Aliases: glance.smooth.spline
broom::glance.speedlm Glance at a(n) speedlm object
Aliases: glance.speedlm
broom::glance.survdiff
Glance at a(n) survdiff object
Aliases: glance.survdiff
broom::glance.survexp Glance at a(n) survexp object
Aliases: glance.survexp
broom::glance.survfit Glance at a(n) survfit object
Aliases: glance.survfit
broom::glance.survreg Glance at a(n) survreg object
Aliases: glance.survreg
broom::list_tidiers Tidying methods for lists / returned values
that are not S3 objects
Aliases: glance.list
broom::lme4_tidiers Tidying methods for mixed effects models
Aliases: glance.merMod
broom::matrix_tidiers Tidiers for matrix objects
Aliases: glance.matrix
broom::nlme_tidiers Tidying methods for mixed effects models
Aliases: glance.lme
broom::null_tidiers Tidiers for NULL inputs
Aliases: glance.NULL
broom::reexports Objects exported from other packages
Aliases: glance
broom::rowwise_df_tidiers
Tidying methods for rowwise_dfs from dplyr, for
tidying each row and recombining the results
Aliases: glance.rowwise_df, glance_.rowwise_df, glance.tbl_df
broom::rstanarm_tidiers
Tidying methods for an rstanarm model
Aliases: glance.stanreg
broom::summary_tidiers
Tidy/glance a(n) summaryDefault object
Aliases: glance.summaryDefault
broom::tidy.htest Tidy/glance a(n) htest object
Aliases: glance.htest
broom::tidy.polr Tidying methods for ordinal logistic regression
models
Aliases: glance.polr, glance.clm, glance.clmm, glance.svyolr
DiagrammeR::add_balanced_tree
Add a balanced tree to the graph
Aliases: add_balanced_tree
generics::glance Glance at an object
Aliases: glance
methods::asMethodDefinition
Method Utilities
Aliases: balanceMethodsList
nlme::balancedGrouped Create a groupedData object from a matrix
Aliases: balancedGrouped
nlme::isBalanced Check a Design for Balance
Aliases: isBalanced, isBalanced.groupedData
rpart::solder.balance Soldering of Components on Printed-Circuit
Boards
Aliases: solder.balance
stats::power.anova.test
Power Calculations for Balanced One-Way
Analysis of Variance Tests
XML::xmlParent Get parent node of XMLInternalNode or ancestor
nodes
Aliases: xmlAncestors
XML::xmlSearchNs Find a namespace definition object by searching
ancestor nodes
Type '?PKG::FOO' to inspect entries 'PKG::FOO', or 'TYPE?PKG::FOO' for
entries like 'PKG::FOO-TYPE'.
See also Getting Help with R.
I came up with a basic print-help function
(defn print-help
([robject]
(let [symbol (second (re-find #"\{(.*)\}" (:code robject)))
split (clojure.string/split symbol #"::")]
(print-help (second split) (first split))))
([function package]
(->>
(r/r (format "capture.output(tools:::Rd2txt(utils:::.getHelpFile(as.character(help(%s,%s))), options=list(underline_titles=FALSE)))" (name function) (name package)))
r/r->clj
(clojure.string/join "\n")
println)))
It works from the repl with either:
(print-help "mean" "base") ;; as well keywords
(print-help base-r/mean)
I did not find anything regarding sections.
I did a draft PR #81
PR was merged, so I close this.
Help can be retrieved using following R call:
capture.output(tools:::Rd2txt(utils:::.getHelpFile(as.character(help(mean))), options=list(underline_titles=FALSE)))
Rd2HTML
can be used to return HTML.We can implement:
help
function which returns just help string, or a sectionhelp-map
function which parses help and returns map of sectionsprint-help
print help (or section) to stdoutHelp can be used on R name (string or symbol) or on RObject (if created via
require-r
should contain original name in meta)Attaching doc string to required R symbol can be slow (need to test it first) - maybe we can do it in
future
task?