листинг содержимого файла данных R без загрузки
Иногда я использую print( load( "myDataFile.RData" ) )
чтобы перечислить содержимое файла данных при его загрузке. Есть ли способ перечислить содержимое без загрузки объектов, содержащихся в файле данных?
- Возьмите сумму переменной, если комбинация значений в двух других столбцах уникальна
- добавление NA, чтобы все элементы списка равны длине
- promise уже оценивается: рекурсивный аргумент аргумента по умолчанию или более ранние проблемы?
- Выбор только числовых столбцов из кадра данных
- вставлять кавычки в строку символов, в цикле
- Получение OVER QUERY LIMIT после одного запроса с геокодом
- нумерация по группам
- Напишите много файлов в цикле for
Я не думаю, что вы могли бы сделать это без загрузки объекта.
Решением может быть сохранение объектов 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 и файла, содержащего метаданные.
attach(file);ls(pos=2);detach(pos=2)
Это будет сделано. Вероятно. #untested
В R v3.0.1 функция load()
получила новый аргумент. Загрузка файла RData с помощью
load("mydata.RData", verbose=TRUE)
покажет вам объекты, которые загружаются. Конечно, это все равно означает, что вам нужно загрузить объект.
Может быть,
load( "myDataFile.RData",ex<-new.env() ) content=ls.str(ex)