Đây là một chức năng khá tiện lợi mà tôi đã chọn ở đâu đó và điều chỉnh một chút. Có thể được tốt đẹp để giữ trong thư mục.
list.objects <- function(env = .GlobalEnv)
{
if(!is.environment(env)){
env <- deparse(substitute(env))
stop(sprintf('"%s" must be an environment', env))
}
obj.type <- function(x) class(get(x, envir = env))
foo <- sapply(ls(envir = env), obj.type)
object.name <- names(foo)
names(foo) <- seq(length(foo))
dd <- data.frame(CLASS = foo, OBJECT = object.name,
stringsAsFactors = FALSE)
dd[order(dd$CLASS),]
}
> x <- 1:5
> d <- data.frame(x)
> list.objects()
# CLASS OBJECT
# 1 data.frame d
# 2 function list.objects
# 3 integer x
> list.objects(env = x)
# Error in list.objects(env = x) : "x" must be an environment
Nguồn
2014-06-23 04:55:32
Nếu bạn cũng muốn loại bỏ đối tượng có tên bắt đầu bằng một giai đoạn, sử dụng này để thay thế: 'rm (list = setdiff (ls (all.names = TRUE), lsf.str (all.names = TRUE))) ' –
Cảm ơn rất nhiều vì câu trả lời này. Tôi có thể biết khoảng thời gian là gì không? – RockScience
Chắc chắn. Một khoảng thời gian (bằng tiếng Anh Mỹ) là một tên khác cho một dấu chấm, như thế này: '.' Để xem những gì tôi đang nói, hãy thử' .j <- 5; ls(); ls (all.names = TRUE) ' –