перечисление содержимого файла данных R без загрузки - PullRequest
20 голосов
/ 28 января 2011

Я иногда использую print( load( "myDataFile.RData" ) ) для отображения содержимого файла данных при его загрузке.Есть ли способ составить список содержимого без загрузки объектов, содержащихся в файле данных?

Ответы [ 4 ]

6 голосов
/ 29 января 2011

Я не думаю, что вы могли бы сделать это без загрузки объекта.

Решением могло бы быть сохранение объектов R с помощью обертки в save, причем эта функция сохраняла бы объект И структуруобъект в специальный файл Rdata.Позже вы можете загрузить специальный двоичный файл с оберткой в ​​load, где вы можете указать только список структуры данных.

Я сделал что-то подобное в очень простом пакете с именем сохраняет , можно найти в CRAN.


Обновление: Я составил очень простое решение для метаданных

save.ls <- function(x, file) {
    save(list=x, file=file)
    l <- ls()
    save(l, file=paste(file, 'ls', sep=''))
}
load.ls <- function(file) {
    attach(paste(file, 'ls', sep=''));
    return(l)
    detach(pos=2)
}

Сохранить с save.ls вместо save и загрузить с load.ls для проверки.Мета-информация сохраняется в отдельном файле (оканчивающемся на «ls»), но механизм можно легко улучшить, например, сделать архив tar (как я это делаю в пакете, указанном выше) объекта Rdata и файл, содержащий метаданные.

5 голосов
/ 28 января 2011
attach(file);ls(pos=2);detach(pos=2)

Это сделает это. Наверное. # Непроверенных

2 голосов
/ 29 августа 2013

В R v3.0.1 функция load() получила новый аргумент.Загрузка файла RData с помощью

load("mydata.RData", verbose=TRUE) 

покажет вам загруженные объекты.Конечно, это все еще означает, что вы должны загрузить объект.

1 голос
/ 17 декабря 2015

Может быть,

load( "myDataFile.RData",ex<-new.env() )
content=ls.str(ex)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...