An open API service indexing awesome lists of open source software.

https://github.com/jimbrig/jimstaskviews

CRAN Task Views and Shiny App https://jimstaskviews.jimbrig.com
https://github.com/jimbrig/jimstaskviews

cran data docs rstats shiny-app submodules task-views

Last synced: about 1 month ago
JSON representation

CRAN Task Views and Shiny App https://jimstaskviews.jimbrig.com

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, comment = "", warning = FALSE, error = FALSE, message = FALSE)
```
# CRAN Task Views

- [Official CRAN Task Views](https://cran.r-project.org/web/views/)
- [Shiny Application](https://jimbrigapps.shinyapps.io/task-views-app/)
- [Documentation](https://cran-task-views.jimbrig.com)

## Task Views

⭐ = Favorite / Recommendation

- [Package Development](package-development/) ⭐⭐
- [Webservices](webservices/) ⭐⭐
- [Finance](finance/)
- [Mapping Tools](maptools/) ⭐
- [High Performance Computing](hpc/)
- [Taxonomy](taxonomy/)
- [Databases](databases/) ⭐
- [Model Deployment](model-deployment/)
- [Reproducible Research](reproducible-research/) ⭐
- [Anamaly Detection](anamoly-detection/)
- [Security](security/)
- [Time-Series](timeseries/)
- [Optimization](optimization/) ⭐
- [Graphics](graphics/)
- [Numerical Math](numerical-math/)
- [Open Data](opendata/) ⭐
- [Hydrology](hydrology/)
- [Computational environments](computational-environments/) ⭐⭐

Additionally, I included the `ctv` R package.

## Shiny App

There is also an exploratory [Shiny App](shiny_app/) that van be viewed at

Quickly browse packages and their licenses using a snapshot of task views
retrieved on 2020-02-28.

*Not all packages available on CRAN are shown here, just the ones in CRAN's [Task Views](https://cran.r-project.org/web/views/).*

## Techinical Details and Code

Repo's are added via [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules);
see the `.gitmodules` file for details.

```{bash, eval=FALSE}
git init

git submodule add [email protected]:ropensci/PackageDevelopment.git package-development
git submodule add [email protected]:ropensci/webservices.git
git submodule add [email protected]:eddelbuettel/ctv-finance.git finance
git submodule add [email protected]:ropensci/maptools.git
git submodule add [email protected]:eddelbuettel/ctv-hpc.git "high-performace-computing"
git submodule add [email protected]:ropensci/taxonomy.git
git submodule add [email protected]:terrytangyuan/ctv-databases.git "databases"
git submodule add [email protected]:terrytangyuan/ctv-model-deployment.git "model-deployments"
git submodule add [email protected]:jdblischak/reproducible-research-ctv.git "reproducible-research"
git submodule add [email protected]:pridiltal/ctv-AnomalyDetection.git "anamoly-detection"
git submodule add [email protected]:hrbrmstr/ctvsecurity.git "security"
git submodule add [email protected]:robjhyndman/ctv-TimeSeries.git "timeseries"
git submodule add [email protected]:hwborchers/ctv-optimization.git "optimization"
git submodule add [email protected]:sctyner/ctv-graphics.git "graphics"
git submodule add [email protected]:cran/ctv.git
git submodule add [email protected]:hwborchers/ctv-numericalmath.git "numerical-math"
git submodule add [email protected]:ropensci/opendata.git opendata
git submodule add [email protected]:ropensci/Hydrology.git hydrology
git submodule add [email protected]:o2r-project/ctv-computational-environments.git computational-environments
git submodule add [email protected]:r-spatial/task_views.git "spacial-and-temporal-spatial"

exit
```

In order to stay up-to-date utilize the `update_submods.sh` shell script:

```{bash, eval=FALSE}
#!/bin/sh

git submodule update --recursive
```

## Remaining CTVs not found on Github:

The remaining task views are taken from CRAN and placed into the [data](data/) folder.

- NOTE: I use pandoc to convert between HTML and Markdown here.

```{r, eval=FALSE, include=TRUE}
remaining <- c(
"Distributions",
"Bayesian",
"Econometrics",
"Environmetrics",
"ExperimentalDesign",
"ExtremeValue",
"FunctionalData",
"MachineLearning",
"MetaAnalysis",
"Multivariate",
"NaturalLanguageProcessing",
"OfficialStatistics",
"Robust",
"SocialSciences",
"Spatial",
"SpatioTemporal",
"Survival",
"WebTechnologies"
)

ctvs <- purrr::map(remaining, function(x) {
read.ctv(system.file("ctv", paste0(x, ".ctv"), package = "ctv"))
}) %>% setNames(remaining)

purrr::walk2(
ctvs,
names(ctvs),
~ctv::ctv2html(x = .x, file = fs::path("data/html", paste0(.y, ".html")))
)

fs::dir_create("data/md")

purrr::walk(basename(fs::dir_ls("data/html")), function(x) {
cmd <- paste0("pandoc -o 'data/md/", fs::path_ext_remove(x), ".md' ", x)
cmd
system(cmd)
})
```

## Session Info

```{r, results='markup', eval=TRUE, echo=TRUE}
sessioninfo::session_info()
```

## ALL Task Views Detailed Information

To get all CTVs:

```{r, eval=TRUE, results='markup', include=TRUE}
library(ctv)

cdir <- system.file("ctv", package = "ctv")
ctvs <- list.files(cdir, pattern = "\\.ctv$")

rr <- sapply(ctvs,
function(ctv) {
cat(sprintf("%25s ", ctv))
R <- read.ctv(file.path(cdir, ctv))
cat("\n")
R
},
simplify = FALSE)
```

and for more details, including the packages within the CTVs:

```{r, results='markup', eval=TRUE}
for (n in names(rr)) {
cat(n, " :\n", rep.int("=", nchar(n)), "\n", sep = '')
knitr::knit_print(rr[[n]])
cat("--------------------------------------------------------\n")
}
```