Skip to content

Commit

Permalink
Merge pull request #116 from neurodata/staging
Browse files Browse the repository at this point in the history
Merge v2.0.2 into master branch
  • Loading branch information
MrAE authored Dec 4, 2018
2 parents 73b896f + ebaea9b commit ae07faa
Show file tree
Hide file tree
Showing 77 changed files with 5,694 additions and 1,844 deletions.
19 changes: 19 additions & 0 deletions .#build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

Rscript -e "install.packages('Rcpp', repos = 'http://cran.us.r-project.org')"
Rscript -e "Rcpp::compileAttributes()"

# Rscript -e "install.packages('devtools', repos = 'http://cran.us.r-project.org')"
# Rscript -e "install.packages('roxygen2', repos = 'http://cran.us.r-project.org')"
## RUN styler on directory
# Rscript -e "styler::style_dir(style = tidyverse_style)"
Rscript -e "devtools::document('R')"

R CMD build --resave-data .

# Rscript -e "install.packages('dummies', repos = 'http://cran.us.r-project.org')"
# Rscript -e "install.packages('RcppArmadillo', repos = 'http://cran.us.r-project.org')"
# Rscript -e "install.packages('RcppZiggurat', repos = 'http://cran.us.r-project.org')"
# Rscript -e "install.packages('testthat', repos = 'http://cran.us.r-project.org')"

R CMD check --as-cran --no-manual rerf*.tar.gz
18 changes: 18 additions & 0 deletions .#build_win.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

Rscript.exe -e "install.packages('Rcpp', repos = 'http://cran.us.r-project.org')"
Rscript.exe -e "Rcpp::compileAttributes()"

# Rscript.exe -e "install.packages('devtools', repos = 'http://cran.us.r-project.org')"
# Rscript.exe -e "install.packages('roxygen2', repos = 'http://cran.us.r-project.org')"
## RUN styler on directory
# Rscript.exe -e "styler::style_dir(style = tidyverse_style)"
Rscript.exe -e "devtools::document('R')"

R.exe CMD build --resave-data .

# Rscript.exe -e "install.packages('dummies', repos = 'http://cran.us.r-project.org')"
# Rscript.exe -e "install.packages('RcppArmadillo', repos = 'http://cran.us.r-project.org')"
# Rscript.exe -e "install.packages('RcppZiggurat', repos = 'http://cran.us.r-project.org')"
# Rscript.exe -e "install.packages('testthat', repos = 'http://cran.us.r-project.org')"

R.exe CMD check --as-cran --no-manual rerf*.tar.gz
11 changes: 10 additions & 1 deletion .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
^README.html$
^README.Rmd$
^travisTest$
^docs$
^\.git$
^\.travis\.yml$
^.*\\.gz$
^.*\.gz$
^.*\.out$
^.*\.o$
^.*\.so$
^.*\.Rproj$
^\.Rproj\.user$
^CONTRIBUTING.md$
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.csv linguist-generated=true
*.html linguist-documentation=true
*.md linguist-documentation=true
*.Rmd linguist-documentation=true
man/* linguist-generated=true
docs/* linguist-documentation=true
11 changes: 8 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
# RStudio files
.Rproj.user/

# vscode settings
.vscode/settings.json

# produced vignettes
vignettes/*.html
vignettes/*.pdf
Expand All @@ -43,6 +46,8 @@ vignettes/*.pdf
*.csv
*.swp

# auto generated Rcpp code
src/RcppExports.cpp
R/RcppExports.R
.Rproj.user

#automatically generated on Windows
rerf.dll
src-i386
33 changes: 18 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
language: r
cache: packages
dist: trusty

r:
- release
- release

sudo: false

branches:
only:
- master

addons:
apt:
packages:
- libgsl0-dev

before_install:
- #
apt:
packages:
- libgsl0-dev

r_packages:
- devtools
- testthat
- Rcpp

script:
- cd travisTest
- printf "starting run\n"
- Rscript test.R
- printf "Starting install and test with devtools.\n\n"
- Rscript -e "Rcpp::compileAttributes()"
- Rscript -e "devtools::install(local=FALSE);devtools::test()"
- Rscript travisTest/test-on-prior-release.R
- printf "Starting BUILD and CHECK --as-cran\n\n"
- R CMD build --resave-data .
- R CMD check --as-cran --no-manual rerf*tar.gz
60 changes: 60 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Contributing

You are here to help on R-RerF? First off, thank you! Please read the following sections in order to know how to ask questions and how to work work on something.

## Get in touch

* Report bugs, suggest features or view the source code [on GitHub](https://github.com/neurodata/R-RerF)

## Organization

### Branches

* `master`: inline with current release on CRAN
* `staging`: development branch from which PRs should be made

## Making Changes

### Formatting

* Run your code through [styler](http://styler.r-lib.org/) auto-formater
* Avoid modifying formatting outside the scope of your pull request
* Use **TRUE** and **FALSE**, not **T** and **F**
* Check for unnecessary whitespace with `git diff --check` before committing

### Testing

We use the [testthat](https://github.com/r-lib/testthat) library for testing in R. You can run your tests locally using `devtools::test()`. Testthat tests are also run on [TravisCI](https://travis-ci.org/neurodata/R-RerF) automatically.

* New features need tests
* Tests should be fast, ideally each test should complete in under 5 seconds
* Mark longer running tests with
* Bug fixes need [testthat](https://github.com/r-lib/testthat) functions (test the condition that was failing)

### Make your Pull Request

Congrats, you are ready for your PR!

* If adding a new feature, add a summary of your feature to the NEWS.md file.
* Create your pull request on GitHub

### Code review

Code reviews will take place for all Pull Requets. It is our intention for code reviews to be a pleasant experience - we appreciate PRs and all the work that goes into them. The purpose for the code review is to:

* Ensure working code
* Maintainable code
* Consistent style throughout the package

We aim to give feedback in a timely fashion

### Merge

When merging, choose the `squash and merge` type on GitHub

## Resources for best practices

* For additions to the R code, we will be following [Google's](https://google.github.io/styleguide/Rguide.xml) style guide
* [Comments on Style by H.W.](http://adv-r.had.co.nz/Style.html)
* [Advanced R by H.W.](http://adv-r.had.co.nz)
* [R packages by H.W.](http://r-pkgs.had.co.nz)
54 changes: 30 additions & 24 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
Package: rerf
Type: Package
Title: Randomer Forest
Version: 1.1.3
Date: 2018-07-05
Authors@R: c(person("James", "Browne", role = c("aut", "cre"),
email = "jbrowne6@jhu.edu"),
person("Tyler", "Tomita", role = "aut",
email = "ttomita2@jhmi.edu"),
person("Joshua", "Vogelstein", role = "ths",
email = "jovo@jhu.edu"))
Description: Random Forester (RerF) is an algorithm developed by Tomita
(2016) <arXiv:1506.03410v2> which is similar to Random Forest - Random
Combination (Forest-RC) developed by Breiman (2001)
<doi:10.1023/A:1010933404324>. Random Forests create axis-parallel, or
orthogonal trees. That is, the feature space is recursively split along
directions parallel to the axes of the feature space. Thus, in cases in
which the classes seem inseparable along any single dimension, Random
Forests may be suboptimal. To address this, Breiman also proposed and
characterized Forest-RC, which uses linear combinations of coordinates
rather than individual coordinates, to split along. This package,
'rerf', implements RerF which is similar to Forest-RC. The difference
between the two algorithms is where the random linear combinations
occur: Forest-RC combines features at the per tree level whereas RerF
takes linear combinations of coordinates at every node in the tree.
License: GPL-2
Version: 2.0.2
Date: 2018-12-03
Authors@R: c(
person("Jesse", "Patsolic", role = c("ctb", "cre"), email = "software@neurodata.io"),
person("Benjamin", "Falk", role = "ctb", email = "falk.ben@jhu.edu"),
person("Jaewon", "Chung", role = "ctb", email = "j1c@jhu.edu"),
person("James", "Browne", role = "aut", email = "jbrowne6@jhu.edu"),
person("Tyler", "Tomita", role = "aut", email = "ttomita2@jhmi.edu"),
person("Joshua", "Vogelstein", role = "ths", email = "jovo@jhu.edu")
)
Description: R-RerF (aka Randomer Forest (RerF) or Random Projection
Forests) is an algorithm developed by Tomita (2016) <arXiv:1506.03410v2>
which is similar to Random Forest - Random Combination (Forest-RC)
developed by Breiman (2001) <doi:10.1023/A:1010933404324>. Random
Forests create axis-parallel, or orthogonal trees. That is, the feature
space is recursively split along directions parallel to the axes of the
feature space. Thus, in cases in which the classes seem inseparable
along any single dimension, Random Forests may be suboptimal. To
address this, Breiman also proposed and characterized Forest-RC, which
uses linear combinations of coordinates rather than individual
coordinates, to split along. This package, 'rerf', implements RerF
which is similar to Forest-RC. The difference between the two
algorithms is where the random linear combinations occur: Forest-RC
combines features at the per tree level whereas RerF takes linear
combinations of coordinates at every node in the tree.
Depends: R (>= 3.3.0)
License: Apache License 2.0 | file LICENSE
URL: https://github.com/neurodata/R-RerF
BugReports: https://github.com/neurodata/R-RerF/issues
Imports: parallel, RcppZiggurat, utils, stats, dummies
Suggests: roxygen2 (>= 5.0.0), testthat
LinkingTo: Rcpp, RcppArmadillo
SystemRequirements: GNU make
ByteCompile: true
RoxygenNote: 6.0.1
RoxygenNote: 6.1.0
Loading

0 comments on commit ae07faa

Please sign in to comment.