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.