Подтвердить что ты не робот

Список определенных переменных в R

Я использую R в linux, только для командной строки.

Возвращаясь к проекту через некоторое время, я забыл имена переменных, которые я использовал, и история команд R их не содержит.

Кажется, я помню, что есть команда, которая перечисляет все пользовательские переменные, но не помнит, что это такое, и не может найти ее в Интернете.

Как я могу перечислить все определяемые пользователем переменные в R?

4b9b3361

Ответ 1

ls()

На странице справки:

 ‘ls’ and ‘objects’ return a vector of character strings giving the
 names of the objects in the specified environment.  When invoked
 with no argument at the top level prompt, ‘ls’ shows what data
 sets and functions a user has defined.  When invoked with no
 argument inside a function, ‘ls’ returns the names of the
 functions local variables.  This is useful in conjunction with
 ‘browser’.

Изменить: я должен отметить, что для перечисления всех переменных вам нужно будет использовать

ls(all.names = TRUE)

в противном случае переменные, начинающиеся с точки, не будут отображаться в списке.

Ответ 2

Вы можете проверить эту ссылку:

Трюки для управления доступной памятью в сеансе R

У него отличная функция для отображения объектов вместе с использованием их памяти. Это часть моего запуска script для R.

# Written by Dirk Eddelbuettel found here: /info/16626/tricks-to-manage-the-available-memory-in-an-r-session

# improved list of objects

.ls.objects <- function (pos = 1, pattern, order.by,
                        decreasing=FALSE, head=FALSE, n=5) {
    napply <- function(names, fn) sapply(names, function(x)
                                         fn(get(x, pos = pos)))
    names <- ls(pos = pos, pattern = pattern)
    obj.class <- napply(names, function(x) as.character(class(x))[1])
    obj.mode <- napply(names, mode)
    obj.type <- ifelse(is.na(obj.class), obj.mode, obj.class)
    obj.size <- napply(names, object.size)
    obj.dim <- t(napply(names, function(x)
                        as.numeric(dim(x))[1:2]))
    vec <- is.na(obj.dim)[, 1] & (obj.type != "function")
    obj.dim[vec, 1] <- napply(names, length)[vec]
    out <- data.frame(obj.type, obj.size, obj.dim)
    names(out) <- c("Type", "Size", "Rows", "Columns")
    if (!missing(order.by))
        out <- out[order(out[[order.by]], decreasing=decreasing), ]
    if (head)
        out <- head(out, n)
    out
}
# shorthand
lsos <- function(..., n=10) {
    .ls.objects(..., order.by="Size", decreasing=TRUE, head=TRUE, n=n)
}