IntervalData class prototype has been
removed since, as it is indicated on the help page of
setClass() function, these arguments are currently
allowed, but either they are unlikely to be useful or there are modern
alternatives that are preferred. This change motivates the
simplification of distance() function by removing one of
its checks.
IntervalData class representation has
been changed to slots argument since, as it is indicated on
the help page of setClass() function, these arguments
are deprecated from version 3.0.0 of R and should be
avoided.
IntervalData, IntervalList, and
IntervalMatrix classes validity has been
changed to setValidity since, as it is indicated on the
help page of setClass() function, these arguments are
currently allowed, but either they are unlikely to be useful or there
are modern alternatives that are preferred.
IntervalList and IntervalMatrix classes
have been redefined in order to reduce the package’s computational
weight. In the previous version, their unique slot .Data
was created by default as an object of class list or
matrix, respectively, containing several
IntervalData instances. Then, some of list or
matrix methods were inherited by IntervalList
and IntervalMatrix objects. Now, these two classes have two
slots, named mid and spr, containing
numeric vectors or matrix objects with the
mid-points and the spreads of the intervals. It should be remarked that
with this new implementation no list or matrix
methods are inherited by IntervalList and
IntervalMatrix objects.
age variable from lackinfo data set has
been removed. Therefore, the examples and tests that use this data have
been modified in order to select the correct variables.
ivd2likert() and ivd2vas() functions
have been renamed as ivs2likert() and
ivs2vas(), respectively.
ivd argument in cronbach() function has
been renamed as ivs.
simulIVS() returns a data.frame object,
not a matrix as in the previous package’s version.
a1 and a2 arguments in
IntervalData() function are now forced to be single real
numbers stored as unique numeric objects.
theta argument in cov(),
cronbach(), distance(),
ivs2likert(), and var() functions is now
forced to be a single positive real number stored as a unique
numeric object.
bounds and mid arguments in
plot() function’s methods are now forced to be single
logical objects.
ivs argument in cronbach() function is
now forced to be a single logical object.
k argument in ivs2likert() function is
now forced to be a single positive integer number stored as a unique
numeric object.
minimum and maximum arguments in
ivs2likert() and simulIVS() functions are now
forced to be single real numbers stored as single numeric
objects.
n and k arguments in
simulIVS() function are now forced to be single positive
integer numbers stored as single numeric objects.
w1, w2, and w3 arguments
in simulIVS() function are now forced to be single real
numbers in [0, 1] stored as single numeric
objects.
p and q arguments in
simulIVS() function are now forced to be single
non-negative real numbers stored as single numeric
objects.
object argument in as.IntervalData()
function is now forced to be a single real number stored as a unique
numeric value.
c() function’s methods have been redefined in a
simpler way.
DESCRIPTION file was updated as follows:
Description field was include a more detailed
explanation of package’s functionality and it also incorporates the
links to the web pages of the two Research Groups, whose publications
and investigations inspire the development of this package.Authors@R: and
Author fields.BugReports, URL, Imports and
Suggests fields were added.RoxygenNote field was updated to 7.2.1.Date field was removed as it was suggested from
pkgcheck() function from the pkgcheck
package.Depends field to Imports one.Suggests field.Due to the new definition of IntervalList and
IntervalMatrix classes, it was necessary to create some new
methods in order to calculate these objects sizes. In particular,
length() function method was developed for
IntervalList objects and dim(),
ncol(), and nrow() methods were defined for
IntervalMatrix objects.
In order to provide customized and controlled access to the
classes slots, two accessor functions, named mid() and
spr(), were created. They return the information stored on
mid and spr slots, respectively. They are a
user-friendly alternative to the @ accessor, since it does
not force others to know the implementation details. Some replacement
methods for these slots were defined through mid<- and
“spr<-” commands.
A new virtual class, named
IntervalDataOrIntervalList, was created as the union of
IntervalData and IntervalList classes only for
internal purposes such as defining method signatures when several
objects of these two classes are supplied.
A new virtual class, named
IntervalListOrIntervalMatrix, was created as the union of
IntervalList and IntervalMatrix classes only
for internal purposes such as defining method signatures when several
objects of these two classes are supplied.
The c() function’s methods for combining
IntervalData and IntervalList instances was
updated to the new signature
IntervalDataOrIntervalList.
The rbind() and cbind() functions were
created in order to combine IntervalList and
IntervalMatrix instances by rows and columns, respectively,
through the new signature
IntervalListOrIntervalMatrix.
The arithmetic methods were extended to the
IntervalList and IntervalMatrix classes by
allowing to carry out the implemented operations element by
element.
The simulIVS function’s code was revised in order to
reduce its execution time.
The extract methods were modified in order to allow
to use negative integers for indicating the elements to leave out of the
selection. Some methods were defined in order to allow to replace parts
of IntervalList and IntervalMatrix objects
too. In particular, [<- and [[<-
commands were included.
Tests for code lines were developed though the
testthat and vdiffr (used specifically
for plot methods) packages. These tests provide a 100%
coverage as it was calculated by package_coverage()
function from covr package.
Some good practice comments given by pkgcheck()
function from the pkgcheck package motivated the
following changes in the previous code:
1:nrow(data),
1:length(x), … were avoided. Function
seq_len() was used instead.is_single_positive_integer(),
is_single_positive_real_number(),
is_single_real_number(), and
is_single_proportion were created for this purpose.sapply() functions were avoided. Function
vapply was used instead.Some function’s documentations were corrected and improved, including more detailed examples.
DOIs were added to references (whenever they were found).
Both README.md and NEWS.md files were
also incorporated to the package.
A logo for the IntervalQuestionStat package was
also designed and included in the man/figures/
directory.
Colors were not used in the correct way in plot()
function’s methods defined for IntervalData and
IntervalList objects, specially when the intervals lower
and upper bounds or their mid-points were remarked. Therefore, this bug
was fixed by changing the expression
dotarguments <- match.call(expand.dots = FALSE)$... to
dotarguments <- list(...).
Some default main and axis labels were misspelled in
plot() function’s methods, so they were corrected.
The xaxt and yaxt arguments from
plot() function’s method for signature
IntervalData,IntervalData were removed so the axis numbers
are shown.
Initial release of the IntervalQuestionStat package on the Comprehensive R Archive Network (CRAN).