Список определенных переменных в R - PullRequest
28 голосов
/ 16 марта 2012

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

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

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

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

Ответы [ 2 ]

45 голосов
/ 16 марта 2012

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 голосов
/ 18 марта 2012

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

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

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

# Written by Dirk Eddelbuettel found here: /1352839/tryki-chtoby-upravlyat-dostupnoi-pamyaty-v-seanse-r

# 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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...