The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.
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.
Health stats visible at Monitor.