Я иногда использую print( load( "myDataFile.RData" ) )
для отображения содержимого файла данных при его загрузке. Есть ли способ перечислить содержимое без загрузки объектов, содержащихся в файле данных?
Листинг содержимого файла данных R без загрузки
Ответ 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)