File R-cramR.spec of Package R-cramR
# Automatically generated by CRAN2OBS
#
# Spec file for package cramR
# This file is auto-generated using information in the package source,
# esp. Description and Summary. Improvements in that area should be
# discussed with upstream.
#
# Copyright (c) 2025 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global packname cramR
%global rlibdir %{_libdir}/R/library
Name: R-%{packname}
Version: 0.1.1
Release: 0
Summary: Cram Method for Efficient Simultaneous Learning and Evaluation
Group: Development/Libraries/Other
License: GPL-3
URL: http://cran.r-project.org/web/packages/%{packname}
Source: cramR_0.1.1.tar.gz
Requires: R-base
Requires: R-caret
Requires: R-grf
Requires: R-glmnet
Requires: R-magrittr
Requires: R-doParallel
Requires: R-foreach
Requires: R-DT
Requires: R-data.table
Requires: R-keras
Requires: R-dplyr
Requires: R-purrr
Requires: R-R6
Requires: R-rjson
Requires: R-R.devices
Requires: R-itertools
Requires: R-iterators
Requires: R-ggplot2
Requires: R-e1071
Requires: R-ModelMetrics
Requires: R-plyr
Requires: R-pROC
Requires: R-recipes
Requires: R-reshape2
Requires: R-withr
Requires: R-cli
Requires: R-generics
Requires: R-glue
Requires: R-lifecycle
Requires: R-pillar
Requires: R-rlang
Requires: R-tibble
Requires: R-tidyselect
Requires: R-vctrs
Requires: R-crosstalk
Requires: R-htmltools
Requires: R-htmlwidgets
Requires: R-jquerylib
Requires: R-jsonlite
Requires: R-promises
Requires: R-shape
Requires: R-Rcpp
Requires: R-RcppEigen
Requires: R-DiceKriging
Requires: R-lmtest
Requires: R-sandwich
Requires: R-reticulate
Requires: R-tensorflow
Requires: R-tfruns
Requires: R-zeallot
Requires: R-R.methodsS3
Requires: R-R.oo
Requires: R-R.utils
Requires: R-base64enc
Requires: R-lazyeval
Requires: R-proxy
Requires: R-gtable
Requires: R-isoband
Requires: R-S7
Requires: R-scales
Requires: R-digest
Requires: R-fastmap
Requires: R-knitr
Requires: R-rmarkdown
Requires: R-yaml
Requires: R-zoo
Requires: R-utf8
Requires: R-later
Requires: R-clock
Requires: R-gower
Requires: R-hardhat
Requires: R-ipred
Requires: R-lubridate
Requires: R-sparsevctrs
Requires: R-tidyr
Requires: R-timeDate
Requires: R-stringr
Requires: R-RcppTOML
Requires: R-here
Requires: R-png
Requires: R-rappdirs
Requires: R-config
Requires: R-processx
Requires: R-tfautograph
Requires: R-rstudioapi
Requires: R-whisker
Requires: R-pkgconfig
Requires: R-tzdb
Requires: R-cpp11
Requires: R-rprojroot
Requires: R-prodlim
Requires: R-evaluate
Requires: R-highr
Requires: R-xfun
Requires: R-timechange
Requires: R-ps
Requires: R-bslib
Requires: R-fontawesome
Requires: R-tinytex
Requires: R-farver
Requires: R-labeling
Requires: R-RColorBrewer
Requires: R-viridisLite
Requires: R-stringi
Requires: R-backports
Requires: R-cachem
Requires: R-memoise
Requires: R-mime
Requires: R-sass
Requires: R-diagram
Requires: R-lava
Requires: R-future.apply
Requires: R-numDeriv
Requires: R-progressr
Requires: R-SQUAREM
Requires: R-fs
Requires: R-future
Requires: R-globals
Requires: R-listenv
Requires: R-parallelly
# %%if 0%%{?sle_version} > 120400 || 0%%{?is_opensuse}
# # Three others commonly needed
# BuildRequires: tex(ae.sty)
# BuildRequires: tex(fancyvrb.sty)
# BuildRequires: tex(inconsolata.sty)
# BuildRequires: tex(natbib.sty)
# %else
# BuildRequires: texlive
# %endif
# BuildRequires: texinfo
BuildRequires: fdupes
BuildRequires: R-base
BuildRequires: R-caret
BuildRequires: R-grf
BuildRequires: R-glmnet
BuildRequires: R-magrittr
BuildRequires: R-doParallel
BuildRequires: R-foreach
BuildRequires: R-DT
BuildRequires: R-data.table
BuildRequires: R-keras
BuildRequires: R-dplyr
BuildRequires: R-purrr
BuildRequires: R-R6
BuildRequires: R-rjson
BuildRequires: R-R.devices
BuildRequires: R-itertools
BuildRequires: R-iterators
BuildRequires: R-ggplot2
BuildRequires: R-e1071
BuildRequires: R-ModelMetrics
BuildRequires: R-plyr
BuildRequires: R-pROC
BuildRequires: R-recipes
BuildRequires: R-reshape2
BuildRequires: R-withr
BuildRequires: R-cli
BuildRequires: R-generics
BuildRequires: R-glue
BuildRequires: R-lifecycle
BuildRequires: R-pillar
BuildRequires: R-rlang
BuildRequires: R-tibble
BuildRequires: R-tidyselect
BuildRequires: R-vctrs
BuildRequires: R-crosstalk
BuildRequires: R-htmltools
BuildRequires: R-htmlwidgets
BuildRequires: R-jquerylib
BuildRequires: R-jsonlite
BuildRequires: R-promises
BuildRequires: R-shape
BuildRequires: R-Rcpp-devel
BuildRequires: R-RcppEigen-devel
BuildRequires: R-DiceKriging
BuildRequires: R-lmtest
BuildRequires: R-sandwich
BuildRequires: R-reticulate
BuildRequires: R-tensorflow
BuildRequires: R-tfruns
BuildRequires: R-zeallot
BuildRequires: R-R.methodsS3
BuildRequires: R-R.oo
BuildRequires: R-R.utils
BuildRequires: R-base64enc
BuildRequires: R-lazyeval
BuildRequires: R-proxy
BuildRequires: R-gtable
BuildRequires: R-isoband
BuildRequires: R-S7
BuildRequires: R-scales
BuildRequires: R-digest
BuildRequires: R-fastmap
BuildRequires: R-knitr
BuildRequires: R-rmarkdown
BuildRequires: R-yaml
BuildRequires: R-zoo
BuildRequires: R-utf8
BuildRequires: R-later
BuildRequires: R-clock
BuildRequires: R-gower
BuildRequires: R-hardhat
BuildRequires: R-ipred
BuildRequires: R-lubridate
BuildRequires: R-sparsevctrs
BuildRequires: R-tidyr
BuildRequires: R-timeDate
BuildRequires: R-stringr
BuildRequires: R-RcppTOML-devel
BuildRequires: R-here
BuildRequires: R-png
BuildRequires: R-rappdirs
BuildRequires: R-config
BuildRequires: R-processx
BuildRequires: R-tfautograph
BuildRequires: R-rstudioapi
BuildRequires: R-whisker
BuildRequires: R-pkgconfig
BuildRequires: R-tzdb
BuildRequires: R-cpp11-devel
BuildRequires: R-rprojroot
BuildRequires: R-prodlim
BuildRequires: R-evaluate
BuildRequires: R-highr
BuildRequires: R-xfun
BuildRequires: R-timechange
BuildRequires: R-ps
BuildRequires: R-bslib
BuildRequires: R-fontawesome
BuildRequires: R-tinytex
BuildRequires: R-farver
BuildRequires: R-labeling
BuildRequires: R-RColorBrewer
BuildRequires: R-viridisLite
BuildRequires: R-stringi
BuildRequires: R-backports
BuildRequires: R-cachem
BuildRequires: R-memoise
BuildRequires: R-mime
BuildRequires: R-sass
BuildRequires: R-diagram
BuildRequires: R-lava
BuildRequires: R-future.apply
BuildRequires: R-numDeriv
BuildRequires: R-progressr
BuildRequires: R-SQUAREM
BuildRequires: R-fs
BuildRequires: R-future
BuildRequires: R-globals
BuildRequires: R-listenv
BuildRequires: R-parallelly
Suggests: R-testthat
Suggests: R-covr
Suggests: R-kableExtra
Suggests: R-profvis
Suggests: R-devtools
Suggests: R-waldo
Suggests: R-knitr
Suggests: R-rmarkdown
Suggests: R-randomForest
Suggests: R-gbm
Suggests: R-withr
%description
Performs the Cram method, a general and efficient approach to
simultaneous learning and evaluation using a generic machine learning
algorithm. In a single pass of batched data, the proposed method
repeatedly trains a machine learning algorithm and tests its empirical
performance. Because it utilizes the entire sample for both learning
and evaluation, cramming is significantly more data-efficient than
sample-splitting. Unlike cross-validation, Cram evaluates the final
learned model directly, providing sharper inference aligned with
real-world deployment. The method naturally applies to both policy
learning and contextual bandits, where decisions are based on
individual features to maximize outcomes. The package includes
cram_policy() for learning and evaluating individualized binary
treatment rules, cram_ml() to train and assess the population-level
performance of machine learning models, and cram_bandit() for on-policy
evaluation of contextual bandit algorithms. For all three functions,
the package provides estimates of the average outcome that would result
if the model were deployed, along with standard errors and confidence
intervals for these estimates. Details of the method are described in
Jia, Imai, and Li (2024)
<https://www.hbs.edu/ris/Publication%20Files/2403.07031v1_a83462e0-145b-4675-99d5-9754aa65d786.pdf>
and Jia et al. (2025) <doi:10.48550/arXiv.2403.07031>.
%prep
%setup -q -c -n %{packname}
# the next line is needed, because we build without --clean in between two packages
rm -rf ~/.R
%build
%install
mkdir -p %{buildroot}%{rlibdir}
%{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname}
test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
rm -f %{buildroot}%{rlibdir}/R.css
%fdupes -s %{buildroot}%{rlibdir}
#%%check
#%%{_bindir}/R CMD check %%{packname}
%files
%dir %{rlibdir}/%{packname}
%{rlibdir}/%{packname}/CITATION
%doc %{rlibdir}/%{packname}/DESCRIPTION
%{rlibdir}/%{packname}/INDEX
%{rlibdir}/%{packname}/Meta
%{rlibdir}/%{packname}/NAMESPACE
%doc %{rlibdir}/%{packname}/NEWS.md
%{rlibdir}/%{packname}/R
%{rlibdir}/%{packname}/doc
%{rlibdir}/%{packname}/examples
%doc %{rlibdir}/%{packname}/help
%doc %{rlibdir}/%{packname}/html
%changelog