The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Add aperm() and t() for
list-environment arrays.
parse_env_subset() gained argument
is_variable to control whether or not the inferred element
named should be checked if it is a valid variable name.
map() is formally deprecated; use
mapping() instead.
Dropped the defunct usage of listenv(length = n),
meaning it no longer gives an error but instead produces a
listenv with an element named length.
lengths() for listenv is no
longer exported.parse_env_subset(x[1, names]) on a listenv
x matrix would throw error
Error in if (any(i < 0)) { : missing value where TRUE/FALSE needed
if one of the elements in names specifies a non-existing
column name.
parse_env_subset(x[]) on a listenv x
would throw an error on Invalid subset: x[].
parse_env_subset(x[names]) on a listenv
x would throw an error on
length(x) = 2 > 1 in coercion to logical(1) when
length(names) > 1 and
_R_CHECK_LENGTH_1_LOGIC2_=true.
parse_env_subset(x[1,idxs]) on a listenv
x would throw an error on
length(x) = 2 > 1 in coercion to logical(1) with
length(idxs) > 1 and
_R_CHECK_LENGTH_1_LOGIC2_=true.
parse_env_subset(x[[names]]) on a regular
environment x with length(names) > 1 would
not throw an error, whereas x[[names]] would.
parse_env_subset(x[[1]]) on a regular environment
x would not throw an error, whereas x[[1]]
would.
Now it is possible to set the dimension on an empty list
environment without first resizing it with length(),
e.g. x <- listenv(); dim(x) <- c(2, 3).
Now it is possible to remove multiple elements by assigning NULL,
e.g. x[c(2:3, 10)] <- NULL and
x[, "B"] <- NULL.
Added lengths() for list environments. Requires R
(>= 3.3.0).
dim_na(x) <- dims, where dims
contain exactly one missing value, will set the “missing” dimension
based on the length of x and the other dimensions
specified, e.g. with length(x) == 6,
dim_na(x) <- c(2, NA) will set
dim(x) <- c(2, 3). This works for all types of object to
which dimensions can be assigned - not only list environments.
Added is.matrix(), is.array(),
as.vector(), and as.matrix() for list
environments.
print() on a named, empty list environment would
output an empty string.
Removing an element from a list environment did not remove
dimensions, e.g. x$a <- NULL.
Function map() has been renamed to
mapping() and same for the corresponding replacement
function. The map() and map<-() functions
will soon be deprecated and eventually defunct.
x <- listenv(length = n) is defunct; use
x <- listenv(); length(x) <- n instead.
parse_env_subset(x[[idx]]) for list environment
x and index idx claimed x[[idx]]
existed as long as idx in [1,length(x)], but
it forgot to check if element really existed, which may not be true if
x has been expanded.Add support for assigning elements when creating list environment
similarly how to lists work,
e.g. x <- listenv(a = 1, b = 2).
length(x) <- n now expand/truncate a list
environment.
Added unlist() and all.equal() for list
environments.
x <- listenv(length = n); use
x <- listenv(); length(x) <- n instead.as.listenv(x) would drop NULL elements in
x.
x[idxs], x[name] <- y, and
x$<name> <- y would introduce NA names for
non-named list environments.
Added as.listenv().
CONSISTENCY: Assigning NULL now removes element just as lists,
e.g. x$a <- NULL. To assign value NULL, do
x['a'] <- list(NULL).
Added support for subsetting with [(), which returns
another list environment, e.g. x[2:3], x[-1],
and x[c(TRUE, FALSE)].
Added [<- assignment,
e.g. x['a'] <- 1 and
x[2:3] <- c(3,8).
CLEANUP: Dropped stray debug code.
parse_env_subset().print() on listenv handles empty and
no-named listenv:s better.listenv(length = ...) always allocates internal
variables.get_variable() gained argument
mustExist.print() for listenv:s.tempvar() of R.utils.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.