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

Листинг содержимого файла данных R без загрузки

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

4b9b3361

Ответ 1

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

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

Я сделал что-то подобное в очень базовом пакете, названном saves, который можно найти на 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 и файла, содержащего метаданные.

Ответ 2

attach(file);ls(pos=2);detach(pos=2)

Это будет сделано. Вероятно. #untested

Ответ 3

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

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

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

Ответ 4

Может быть,

load( "myDataFile.RData",ex<-new.env() )
content=ls.str(ex)