Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
195e190
Update vimpute.R
eileenva May 6, 2025
403f61f
start package ready implemenation vimpute
eileenva May 6, 2025
683abaa
Update vimpute.R
eileenva May 6, 2025
8e07821
version without warnings
alexkowa May 15, 2025
97677ce
lrn() optimiert
May 15, 2025
c8a6c78
warning bei robust model
May 16, 2025
08166b8
Merge pull request #90 from statistikat/master
alexkowa May 19, 2025
b2323cf
parameteranpassung
May 22, 2025
e3e9800
robust learner
May 22, 2025
187f512
learner
May 22, 2025
9dfb72d
Merge branch 'pmm_it_all' of https://github.com/statistikat/VIM into …
May 22, 2025
3f35019
c
May 22, 2025
a70051b
learner
May 22, 2025
e977c61
c
May 22, 2025
7cf4081
c
May 22, 2025
898f1de
robust learner
May 22, 2025
9a17a9e
stop(sprintf())
May 23, 2025
b37668c
warning statt error
May 23, 2025
cdc3a49
if model cant be fitted -> NULL
May 23, 2025
4d63662
LearnerClassifGlmRob
May 23, 2025
5c48037
learner
May 23, 2025
5b0b0c4
learner glm rob
May 23, 2025
6cf8721
c
May 23, 2025
34277ef
c
May 23, 2025
8643f0f
learner
May 23, 2025
7f9c299
learner
May 23, 2025
abd79f0
OLD VERSION
May 23, 2025
d111c85
old version (NULL)
May 23, 2025
3ba3664
fallback lm()
May 23, 2025
91b4c37
c
May 23, 2025
82cdeed
new learner try
May 23, 2025
9a6332c
learner back
May 23, 2025
113676b
fallback multi
May 23, 2025
3b0ed6b
fb
May 23, 2025
e1888ff
fb
May 23, 2025
690cf69
$new
May 23, 2025
58b90de
()
May 23, 2025
1b156ae
fb
May 23, 2025
6aec8d3
robust not working
May 23, 2025
1948226
robust learner funktioniert
May 26, 2025
fd8faa3
#
May 26, 2025
f465094
browser()
May 26, 2025
0ba3ff5
data.table
May 26, 2025
2a26edb
data.frame
May 26, 2025
baeca67
#
May 26, 2025
a531732
c
May 26, 2025
3a6a0cd
.. weg
May 26, 2025
be37700
c
May 26, 2025
6bf632d
läuft jetzt wirklich
May 26, 2025
45bcf87
dummy
May 26, 2025
13d3884
prints
May 26, 2025
dbda13c
list()
May 26, 2025
55ec348
Update
eileenva May 27, 2025
6f8c8d2
Update
eileenva May 27, 2025
0840627
glm
May 27, 2025
32355e3
Update
eileenva May 27, 2025
c2900bc
Update
eileenva May 27, 2025
a08c362
Update finished
eileenva May 27, 2025
0c2788c
binär/kategorisch learner aktualisiert
Jun 2, 2025
0542e84
Merge branch 'pmm_it_all' of https://github.com/statistikat/VIM into …
Jun 2, 2025
00f42be
rename
Jun 2, 2025
254caa0
semicontinous variables
Jun 2, 2025
cfe1bb8
tuning
Jun 2, 2025
5c0c910
update
Jun 2, 2025
ac2ec8b
semicont
Jun 2, 2025
3b8ac27
update
Jun 2, 2025
be1a9c2
update
Jun 2, 2025
45b6e23
c
Jun 2, 2025
c9b9c42
logreg
Jun 3, 2025
e399b8c
update
Jun 3, 2025
8e70b11
update
Jun 3, 2025
d845636
update
Jun 3, 2025
f5e83af
c
Jun 3, 2025
d912e64
update
Jun 3, 2025
3814cd3
c
Jun 3, 2025
b512290
c
Jun 3, 2025
93f1463
c
Jun 3, 2025
bf5e665
c
Jun 3, 2025
3ec0c51
c
Jun 3, 2025
a00613a
c
Jun 3, 2025
13df638
semicontinous
Jun 4, 2025
e209f24
c
Jun 13, 2025
4e031a2
Force-add HTML vignette
Jun 13, 2025
0bb669f
semicont
Jun 24, 2025
3321e56
pred hist
Jun 24, 2025
04850fc
update
Jun 24, 2025
ad8aa39
small updates
eileenva Jun 30, 2025
cdb7353
method
eileenva Jun 30, 2025
9fa8c19
message
eileenva Jun 30, 2025
973adb7
verbose
eileenva Jun 30, 2025
f606316
verbose
eileenva Jun 30, 2025
063a517
verbose
eileenva Jun 30, 2025
e06bd7e
test
eileenva Jun 30, 2025
f66ec1c
test
eileenva Jun 30, 2025
c4f1b17
tuning log
eileenva Jun 30, 2025
c1fddcd
log
eileenva Jun 30, 2025
d33cccc
output
eileenva Jun 30, 2025
b036060
tuning_log
eileenva Jun 30, 2025
7c5372a
tuning_log
eileenva Jun 30, 2025
0f07c3c
tuning_log
eileenva Jun 30, 2025
7167780
tuning_log
eileenva Jun 30, 2025
6591ae5
tuning_log
eileenva Jun 30, 2025
330df48
factor levels
eileenva Jul 2, 2025
4a7e991
Merge branch 'pmm_it_all' of https://github.com/statistikat/VIM into …
eileenva Jul 2, 2025
9b16f7d
factorlevels
eileenva Jul 2, 2025
cad8918
factor levels
eileenva Jul 2, 2025
088109b
level
eileenva Jul 3, 2025
dce8aae
levels
eileenva Jul 3, 2025
8a1b063
levels
eileenva Jul 3, 2025
47d5582
levels
eileenva Jul 3, 2025
250948e
levels
eileenva Jul 3, 2025
9ec44b8
levels
eileenva Jul 3, 2025
a1d0aa3
levels
eileenva Jul 3, 2025
4ef6629
levels
eileenva Jul 3, 2025
bb25957
levels
eileenva Jul 3, 2025
f1aaae7
levels check
eileenva Jul 3, 2025
84a6ddc
levels
eileenva Jul 3, 2025
ce55869
levels
eileenva Jul 3, 2025
3a5d78e
levbels
eileenva Jul 3, 2025
3052c9e
levels
eileenva Jul 3, 2025
42fe051
levels
eileenva Jul 3, 2025
b70552c
po_fixfactors
eileenva Jul 3, 2025
61621ed
levels fixfactors
eileenva Jul 3, 2025
a1c8a35
levels
eileenva Jul 3, 2025
8d34342
levels
eileenva Jul 3, 2025
0cff82b
levels
eileenva Jul 3, 2025
cd6bfa7
levels
eileenva Jul 3, 2025
e194de4
levels
eileenva Jul 3, 2025
e7939b1
levels
eileenva Jul 3, 2025
4764e01
levels
eileenva Jul 3, 2025
0d19fbe
levels
eileenva Jul 4, 2025
9e8ec60
levels
eileenva Jul 4, 2025
0ef37cb
levels
eileenva Jul 4, 2025
c665df3
levels
eileenva Jul 4, 2025
d1b3bbf
levels
eileenva Jul 4, 2025
1c32c83
levels
eileenva Jul 4, 2025
7d2a7a4
levels
eileenva Jul 4, 2025
01c7208
levels
eileenva Jul 4, 2025
2fba162
prints levels
eileenva Jul 7, 2025
ef244af
message levels
eileenva Jul 7, 2025
5b8cf37
levels
eileenva Jul 7, 2025
bea222d
levels
eileenva Jul 7, 2025
4f718b3
levels
eileenva Jul 7, 2025
0275b46
levels
eileenva Jul 7, 2025
bbc0b94
level
eileenva Jul 7, 2025
b6b3aab
levels
eileenva Jul 7, 2025
ca94518
levels
eileenva Jul 7, 2025
1455ba0
levels
eileenva Jul 7, 2025
a5244c0
levels
eileenva Jul 7, 2025
1b5168c
levels
eileenva Jul 7, 2025
eb777ed
levels
eileenva Jul 7, 2025
ae2d185
levels
eileenva Jul 7, 2025
ef89b9d
levels
eileenva Jul 7, 2025
8f995b6
levels
eileenva Jul 7, 2025
934cd13
levels
eileenva Jul 7, 2025
9096003
old version
eileenva Jul 7, 2025
19beb21
old
eileenva Jul 7, 2025
7ae3251
Konflikte gelöst: enforce_factor_levels bereinigt
eileenva Jul 7, 2025
dd13644
old
eileenva Jul 7, 2025
3d2068f
com
eileenva Jul 7, 2025
1254cdf
old?
eileenva Jul 7, 2025
a154597
cv
eileenva Jul 9, 2025
d86c45d
tuning
eileenva Jul 9, 2025
db4c73f
tuning
eileenva Jul 9, 2025
a3b7d61
message delete
eileenva Jul 9, 2025
f4da7b6
com
eileenva Jul 9, 2025
4cf2039
com
eileenva Jul 9, 2025
5314f56
fix some smaller errors for CHECK
alexkowa Sep 22, 2025
6a59a0b
fix vignette entry
alexkowa Sep 22, 2025
3dd46ac
keyword family imputation methods in vimpute / roxy run
alexkowa Sep 22, 2025
2f4b0ec
suggest glmnet for vignette
alexkowa Sep 22, 2025
a65c087
delete VIM folder
alexkowa Sep 22, 2025
e7d1d60
fix Index Entry xgboost
alexkowa Sep 22, 2025
6da7a23
update test-coverage workflow
alexkowa Sep 22, 2025
5de6ef3
fix test-coverage.yaml
alexkowa Sep 22, 2025
02027bf
Merge pull request #92 from statistikat/pmm_it_all
alexkowa Sep 22, 2025
1095912
fix #93
alexkowa Dec 10, 2025
f69826e
Improve roxygen docs and export S3 methods for Unit and Inter
matthias-da Dec 12, 2025
c1007a3
Bump version and update Suggests and roxygen note
matthias-da Dec 12, 2025
f62eb4f
Update NEWS for VIM 6.2.6 (add imputeRobust)
matthias-da Dec 12, 2025
9eb4b7d
Modernize package documentation for VIM
matthias-da Dec 12, 2025
78afdb0
Update NAMESPACE for robust imputation and S3 methods
matthias-da Dec 12, 2025
9f73fed
updates
matthias-da Dec 12, 2025
a4dbe2f
fix warning in xgboostImpute Vignette
alexkowa Dec 18, 2025
c4cc79f
merge
matthias-da Jan 8, 2026
3a99cda
Merge branch 'master' of https://github.com/statistikat/VIM
matthias-da Jan 8, 2026
8ecce40
fixed vimpute -> faktorlevels without crash
Jan 13, 2026
4635cdb
ordered factors and EW
Jan 14, 2026
88e95eb
regularized problem solved
Jan 15, 2026
85cd79f
verbose
Jan 15, 2026
335d1a1
pmm k
Jan 19, 2026
3c279ed
pmm k (random, not mean)
Jan 19, 2026
9ee666d
pmm_k
Jan 19, 2026
be39366
pmm_k
Jan 19, 2026
3321ab2
knn pmm 1D based on features
Jan 20, 2026
fb83919
fix test-coverage.yaml
alexkowa Feb 7, 2026
9b1ed87
proper test set for vimpute
alexkowa Feb 7, 2026
c8cdc03
more vimpute tests
alexkowa Feb 7, 2026
15e2a5e
even more vimpute tests
alexkowa Feb 7, 2026
e389295
xgboostImpute as a wrapper of vimpute
alexkowa Feb 7, 2026
9b9674c
ready
Feb 9, 2026
ddd86c2
Merge pull request #97 from statistikat/vimpute_update
alexkowa Feb 9, 2026
014eea6
fix vimpute to pass new test set
alexkowa Feb 9, 2026
3c30644
parameter xgboost
Feb 9, 2026
71931aa
rangerImpute mit vimpute und ranger_median als ... Parameter in vimpute
alexkowa Feb 9, 2026
022d2ee
Merge branch 'xgboostImpute_vimpute' of github.com:statistikat/VIM in…
alexkowa Feb 9, 2026
ca069da
test learner_params
alexkowa Feb 9, 2026
7e8dcb6
ascii - in warning
alexkowa Feb 9, 2026
58dadd4
new helpers for median
Feb 9, 2026
63cfd8e
parameters ranger xgboost
Feb 9, 2026
1ebc6f3
Merge branch 'xgboostImpute_vimpute' of https://github.com/statistika…
Feb 9, 2026
848ce92
Create Learner: included accuracy
Feb 16, 2026
cb87b48
robusterer code
Feb 16, 2026
c165855
valid params
Feb 16, 2026
ce8500c
learner_params: xgboost, ranger
Feb 17, 2026
63ae714
learner params regularized and robust
Feb 17, 2026
f70cc83
parameters are working as list and global
Feb 18, 2026
05f26f4
parameter description
Feb 18, 2026
e287bb5
semicontinous, tuning, parameter setting, robust
Feb 19, 2026
762b0b0
wrapper vimpute, ignore mod_cat and family
Feb 19, 2026
eaa8614
stop it like irmi
Feb 19, 2026
057061d
warnung -> use vimpute()
Feb 19, 2026
ed9f859
vignette angepasst
Feb 23, 2026
04b3136
Merge branch 'master' of https://github.com/statistikat/VIM
matthias-da Feb 23, 2026
078f12a
Fix DESCRIPTION Suggests comma, update docs, and clean up dependencies
matthias-da Feb 24, 2026
9101286
Bump version to 7.0.1
matthias-da Feb 25, 2026
e3aa6b7
test
Feb 25, 2026
f900294
test vsc
Feb 25, 2026
546d9c2
pmm_k_method
Feb 25, 2026
f28cfba
fix bug in check of levels
alexkowa Feb 26, 2026
9e1fa83
small changes for checks
alexkowa Mar 7, 2026
0d00cf4
adapt median to learner_params in vimpute
alexkowa Mar 7, 2026
ff93993
small fixes to helper_vimpute
alexkowa Mar 7, 2026
a39dbdc
remove test.R
alexkowa Mar 7, 2026
f28a2d3
one predictor regressionn fix
alexkowa Mar 7, 2026
338890c
single regressor test
alexkowa Mar 7, 2026
10acd6f
fix deprecation error in vignettes
alexkowa Mar 7, 2026
a28f3ef
fix test for median parameter in learner_params
alexkowa Mar 7, 2026
459d0f2
fix note undefined functions selector_type and selector_name by mlr3p…
alexkowa Mar 7, 2026
3924ad3
roxyrun, prep 7.1.0
alexkowa Mar 7, 2026
b8f075d
gitignore
alexkowa Mar 7, 2026
b5c1240
Merge branch 'master' into xgboostImpute_vimpute
alexkowa Mar 7, 2026
454839c
Merge pull request #94 from statistikat/xgboostImpute_vimpute
alexkowa Mar 7, 2026
5c2d66c
openmp version of kNN
alexkowa Mar 8, 2026
a34780c
test gowerD_cpp (for comparing non openmp to openmp version)
alexkowa Mar 8, 2026
0e3e568
family imputationmethods for pkgdown
alexkowa Mar 8, 2026
c4e36a5
Update vimpute vignette parameter documentation
Mar 9, 2026
4042a97
# if xgboost will not be able to handle missings in target and $prope…
Mar 9, 2026
77b71f5
Merge branch 'transformerImpute' into master
alexkowa Mar 9, 2026
d5abd72
revert wrong transformerImpute merge
alexkowa Mar 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@ pkgdown
^revdep$
^\.github$
^codecov\.yml$
^R/test\.R0$
^src/.*\.(gcda|gcno|o|so)$
^CLAUDE\.md$
^\.claude$
27 changes: 20 additions & 7 deletions .github/workflows/test-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

name: test-coverage
name: test-coverage.yaml

permissions:
contents: read
id-token: write

jobs:
test-coverage:
Expand All @@ -15,36 +18,46 @@ jobs:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true

- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::covr
extra-packages: any::covr, any::xml2
needs: coverage

- name: Test coverage
run: |
covr::codecov(
cov <- covr::package_coverage(
quiet = FALSE,
clean = FALSE,
install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package")
)
print(cov)
covr::to_cobertura(cov)
shell: Rscript {0}

- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
files: ./cobertura.xml
plugins: noop
disable_search: true
use_oidc: true

- name: Show testthat output
if: always()
run: |
## --------------------------------------------------------------------
find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true
find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash

- name: Upload test results
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: coverage-test-failures
path: ${{ runner.temp }}/package
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
.DS_Store
inst/.DS_Store
.Rproj.user
*.Rproj
.Rhistory
docs
src/*.gcda

CLAUDE.md
.claude
VIM.Rcheck/
VIM_*.tar.gz
57 changes: 41 additions & 16 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
Package: VIM
Version: 6.2.4
Version: 7.1.0
Title: Visualization and Imputation of Missing Values
Authors@R: c(
person("Matthias", "Templ", email = "matthias.templ@gmail.com", role = c("aut","cre")),
person("Alexander", "Kowarik", email = "alexander.kowarik@statistik.gv.at", role = c("aut"), comment=c(ORCID="0000-0001-8598-4130")),
person("Andreas", "Alfons", role = c("aut")),
person("Johannes", "Gussenbauer", role = c("aut")),
person("Nina", "Niederhametner", role = c("aut")),
person("Eileen", "Vattheuer", role = c("aut")),
person("Gregor", "de Cillia", email = "gregor.decillia@statistik.gv.at", role = c("aut")),
person("Bernd", "Prantner", role = c("ctb")),
person("Wolfgang", "Rannetbauer", role = c("aut")))
person("Wolfgang", "Rannetbauer", role = c("aut"))
)
Depends:
R (>= 4.1.0),colorspace,grid
Imports:
Expand All @@ -28,33 +32,54 @@ Imports:
MASS,
xgboost,
data.table(>= 1.9.4),
keras,
tensorflow,
stringr
mlr3,
mlr3pipelines,
R6,
paradox,
mlr3tuning,
mlr3learners,
future
Suggests:
dplyr,
tinytest,
knitr,
mgcv,
rmarkdown,
reactable,
covr,
withr
Description: New tools for the visualization of missing and/or imputed values
are introduced, which can be used for exploring the data and the structure of
the missing and/or imputed values. Depending on this structure of the missing
values, the corresponding methods may help to identify the mechanism generating
the missing values and allows to explore the data including missing values.
In addition, the quality of imputation can be visually explored using various
univariate, bivariate, multiple and multivariate plot methods. A graphical user
interface available in the separate package VIMGUI allows an easy handling of
the implemented plot methods.
withr,
pdist,
enetLTS,
robmixglm,
stringr,
glmnet
Description: Provides methods for imputation and visualization of
missing values. It includes graphical tools to explore the amount, structure
and patterns of missing and/or imputed values, supporting exploratory
data analysis and helping to investigate potential missingness mechanisms
(details in Alfons, Templ and Filzmoser, <doi:10.1007/s11634-011-0102-y>.
The quality of imputations can be assessed visually using a wide range of
univariate, bivariate and multivariate plots.
The package further provides several imputation methods,
including efficient implementations of k-nearest neighbour and hot-deck
imputation (Kowarik and Templ 2013, <doi:10.18637/jss.v074.i07>,
iterative robust model-based multiple
imputation (Templ 2011, <doi:10.1016/j.csda.2011.04.012>;
Templ 2023, <doi:10.3390/math11122729>), and machine learning–based
approaches such as robust GAM-based multiple imputation
(Templ 2024, <doi:10.1007/s11222-024-10429-1>) as well as gradient boosting
(XGBoost) and transformer-based methods
(Niederhametner et al., <doi:10.1177/18747655251339401>).
General background and practical guidance on imputation are provided in the
Springer book by
Templ (2023) <doi:10.1007/978-3-031-30073-8>.
LazyData: TRUE
ByteCompile: TRUE
License: GPL (>= 2)
URL: https://github.com/statistikat/VIM
Repository: CRAN
LinkingTo: Rcpp
RoxygenNote: 7.3.1
RoxygenNote: 7.3.3
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
VignetteBuilder: knitr
33 changes: 32 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Generated by roxygen2: do not edit by hand

S3method(Inter,list)
S3method(Unit,list)
S3method(plot,aggr)
S3method(print,aggr)
S3method(print,summary.aggr)
Expand All @@ -22,6 +24,8 @@ export(growdotMiss)
export(histMiss)
export(hotdeck)
export(impPCA)
export(imputeRobust)
export(imputeRobustChain)
export(initialise)
export(irmi)
export(kNN)
Expand Down Expand Up @@ -50,7 +54,7 @@ export(scattMiss)
export(scattmatrixMiss)
export(spineMiss)
export(tableMiss)
export(transformerImpute)
export(vimpute)
export(xgboostImpute)
import(Rcpp)
import(colorspace)
Expand Down Expand Up @@ -93,11 +97,38 @@ importFrom(graphics,text)
importFrom(graphics,title)
importFrom(laeken,weightedMean)
importFrom(laeken,weightedMedian)
importFrom(mlr3,LearnerClassif)
importFrom(mlr3,LearnerRegr)
importFrom(mlr3,PredictionClassif)
importFrom(mlr3,PredictionRegr)
importFrom(mlr3,TaskClassif)
importFrom(mlr3,TaskRegr)
importFrom(mlr3,as_task_classif)
importFrom(mlr3,as_task_regr)
importFrom(mlr3,lrn)
importFrom(mlr3,msr)
importFrom(mlr3,resample)
importFrom(mlr3,rsmp)
importFrom(mlr3learners,LearnerRegrCVGlmnet)
importFrom(mlr3pipelines,"%>>%")
importFrom(mlr3pipelines,GraphLearner)
importFrom(mlr3pipelines,PipeOpModelMatrix)
importFrom(mlr3pipelines,po)
importFrom(mlr3tuning,TuningInstanceBatchSingleCrit)
importFrom(mlr3tuning,tnr)
importFrom(mlr3tuning,trm)
importFrom(paradox,p_dbl)
importFrom(paradox,p_fct)
importFrom(paradox,p_int)
importFrom(paradox,ps)
importFrom(ranger,importance)
importFrom(ranger,ranger)
importFrom(robustbase,lmrob)
importFrom(utils,capture.output)
importFrom(utils,flush.console)
importFrom(utils,head)
importFrom(utils,modifyList)
importFrom(vcd,labeling_border)
importFrom(vcd,mosaic)
importFrom(xgboost,xgboost)
useDynLib(VIM)
13 changes: 12 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
# VIM 6.x.x
# VIM 7.1.0
- improve `vimpute()` compatibility and validation
- make `rangerImpute()`, `xgboostImpute()`, and `regressionImp()` delegate to `vimpute()`
- vimpute: fall back from regularized to robust models when too few predictor columns remain after preprocessing
- fix documentation and package check issues around `vimpute()`
- OpenMP is used in gowerD

# VIM 7.0.0
- new function vimpute that uses `mlr3` backend for a flexible imputation method.

# VIM 6.2.4
- fix infinite loop in matchImpute in case all observations of a variable are missing
- remove parameter metric from kNN because it was not used
- add function xgboostImpute for using a simple xgboostModel to impute
- add imputeRobust function to impute numeric variables with robust methods (linear and non-linear ones)

# VIM 6.2.3
- default robust regression method for irmi for numeric variables changes from rlm to lmrob.
Expand Down
12 changes: 0 additions & 12 deletions R/RcppExports.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,3 @@ gowerDind <- function(dataX, dataY, weights, ncolNUMFAC, levOrders, mixedConstan
.Call('_VIM_gowerDind', PACKAGE = 'VIM', dataX, dataY, weights, ncolNUMFAC, levOrders, mixedConstants, nR, returnMinR)
}

tokenpred_to_string_cpp <- function(probs, target_tok, sample_tok_probs) {
.Call('_VIM_tokenpred_to_string_cpp', PACKAGE = 'VIM', probs, target_tok, sample_tok_probs)
}

parallel_tokenpred_to_string <- function(probs, target_tok, sample_tok_probs) {
.Call('_VIM_parallel_tokenpred_to_string', PACKAGE = 'VIM', probs, target_tok, sample_tok_probs)
}

training_seq_cpp <- function(len_target, train_tokenized) {
.Call('_VIM_training_seq_cpp', PACKAGE = 'VIM', len_target, train_tokenized)
}

34 changes: 27 additions & 7 deletions R/VIM-package.R
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,17 @@
#' @importFrom laeken weightedMean
#' @importFrom graphics Axis abline axTicks axis barplot box hist boxplot layout lcm lines locator par plot.new plot.window points
#' @importFrom graphics polygon rect strheight strwidth text title
#' @importFrom utils capture.output flush.console head
#' @importFrom utils capture.output flush.console head modifyList
#' @importFrom ranger ranger importance
#' @importFrom MASS stepAIC lqs polr rlm
#' @importFrom mlr3 LearnerRegr PredictionRegr LearnerClassif PredictionClassif lrn TaskRegr TaskClassif as_task_regr as_task_classif rsmp msr resample
#' @importFrom mlr3pipelines PipeOpModelMatrix %>>% GraphLearner po
#' @importFrom paradox ps p_fct p_dbl p_int
#' @importFrom mlr3tuning tnr trm TuningInstanceBatchSingleCrit
#' @importFrom mlr3learners LearnerRegrCVGlmnet
#' @useDynLib VIM
NULL

utils::globalVariables(c("self", "super"))
#' Animals_na
#'
#' @description Average log brain and log body weights for 28 Species
Expand Down Expand Up @@ -596,21 +601,36 @@ NULL
#' handling of the plot methods. In addition, `VIM` can be used for data
#' from essentially any field.
#'
#' @title The VIM Package: Visualization and Imputation of Missing Values
#' @name VIM-package
#' @aliases VIM-package VIM
"_PACKAGE"
#' @description
#' VIM provides tools for visualization, imputation, and exploration of missing
#' and multivariate data.
#' @details
#' This package includes advanced imputation methods, robust statistics,
#' and tools for data preprocessing and diagnostics.
#' @author Matthias Templ, Andreas Alfons, Alexander Kowarik, Bernd Prantner
#'
#' Maintainer: Matthias Templ <templ@@tuwien.ac.at>
#' @references M. Templ, A. Alfons, P. Filzmoser (2012) Exploring incomplete
#' Maintainer: Matthias Templ <matthias.templ@@gmail.com>
#' @references
#' M. Templ (2023) *Visualization and Imputation of Missing Values*. Springer Publishing.
#' Series in Computational Statistics. Cham. Switzerland. 463 pages.
#' DOI: 10.1007/978-3-031-30073-8
#'
#' A. Kowarik, M. Templ (2016) Imputation with
#' R package VIM. *Journal of
#' Statistical Software*, 74(7), 1-16.
#'
#' M. Templ, A. Alfons, P. Filzmoser (2012) Exploring incomplete
#' data using visualization tools. *Journal of Advances in Data Analysis
#' and Classification*, Online first. DOI: 10.1007/s11634-011-0102-y.
#'
#' M. Templ, A. Kowarik, P. Filzmoser (2011) Iterative stepwise regression
#' imputation using standard and robust methods. *Journal of
#' Computational Statistics and Data Analysis*, Vol. 55, pp. 2793-2806.
#' @keywords package
NULL
#' @keywords internal
"_PACKAGE"



Expand Down
1 change: 0 additions & 1 deletion R/evaluation.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#' regression imputation using standard and robust methods. *Journal of
#' Computational Statistics and Data Analysis*, Vol. 55, pp. 2793-2806.
#'
# seealso \code{\link{robCompositions::rdcm}}
#' @details This function has been mainly written for procudures
#' that evaluate imputation or replacement of rounded zeros. The ni parameter can thus, e.g. be
#' used for expressing the number of rounded zeros.
Expand Down
2 changes: 1 addition & 1 deletion R/gowerD.R
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ gowerD <- function(data.x, data.y = data.x,
warning("The number of unique values in the ordinal variables in data.x
does not correspond to the values given in levOrders")
}
levOrdersUniqueY <- sapply(orders,function(x)length(unique(data.x[[x]])))
levOrdersUniqueY <- sapply(orders,function(x)length(unique(data.y[[x]])))
if(any(levOrdersUniqueY!=levOrders)){
warning("The number of unique values in the ordinal variables in data.y
does not correspond to the values given in levOrders")
Expand Down
Loading
Loading