[R-gregmisc-users] SF.net SVN: r-gregmisc:[1758] trunk/gdata/R/ll.R
Brought to you by:
warnes
From: <ar...@us...> - 2013-12-18 14:33:31
|
Revision: 1758 http://sourceforge.net/p/r-gregmisc/code/1758 Author: arnima Date: 2013-12-18 14:33:28 +0000 (Wed, 18 Dec 2013) Log Message: ----------- Retain original list order unless sort=FALSE; also stop if unnamed list Modified Paths: -------------- trunk/gdata/R/ll.R Modified: trunk/gdata/R/ll.R =================================================================== --- trunk/gdata/R/ll.R 2013-12-16 19:58:56 UTC (rev 1757) +++ trunk/gdata/R/ll.R 2013-12-18 14:33:28 UTC (rev 1758) @@ -29,13 +29,21 @@ return(size) } + ## 1 Set unit, denominator, original.rank unit <- match.arg(unit, c("bytes","KB","MB")) denominator <- switch(unit, "KB"=1024, "MB"=1024^2, 1) + original.rank <- NULL + ## 2 Detect what 'pos' is like, then get class, size, dim if(is.character(pos)) # pos is an environment name pos <- match(pos, search()) if(is.list(pos)) # pos is a list-like object + { + if(is.null(names(pos))) + stop("All elements of a list must be named") + original.rank <- rank(names(pos)) pos <- as.environment(pos) + } if(length(ls(pos,...)) == 0) # pos is an empty environment { object.frame <- data.frame() @@ -66,6 +74,12 @@ object.frame <- cbind(object.frame, Dim=sapply(ls(pos,...),get.object.dim,pos=pos)) } + + ## 3 Retain original order of list elements + if(!sort && !is.null(original.rank)) + object.frame <- object.frame[original.rank,] + + ## 4 Filter results given class if(!is.null(class)) { include <- object.frame$Class %in% class This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |