как я должен получить доступ к n количеству разных файлов .mat в r, установив правильный путь?

#r #matlab

#r #matlab

Вопрос:

У меня есть в общей сложности 121 файл .mat для некоторого эксперимента с сонаром. Я хочу читать каждый файл mat итеративным способом, и на каждой итерации я хочу получать доступ к данным из одного конкретного файла mat и работать с соответствующими данными. Я уже проделал с кодом Matlab то же самое, что я пытаюсь сделать в r.

Это мой код Matlab

 myFolder = 'G:minor_projectIndrajeetDataExpDataSingleChannel with 
Array Steering16 cell mesh slanting 30 deg';

% Check to make sure that the folder actually exists. Warn user if it doesn't.

if ~isdir(myFolder)
 errorMessage = sprintf('Error: The following folder does notexist:n%s', myFolder);
 uiwait(warndlg(errorMessage));
 return;
end
 fpath = dir(fullfile( myFolder, '*.mat'));

 filenames = fullfile(myFolder, {fpath.name});  
 

Теперь, если вы внимательно посмотрите на переменную fpath, вы обнаружите, что первая функция fullfile принимает myFolfer, где мой путь — это хранилище, и приводит к следующему или полному имени файла, включая расширение .mat.

  G:minor_projectIndrajeetDataExpDataSingleChannel with Array 
 Steering16 cell mesh slanting 30 deg*.mat
 

затем функция «dir» использует то же имя папки для создания списка (в виде структуры структуры 121×1, к которой позже я обращаюсь с помощью dot.operator) всех данных.

Сейчас я изучаю программирование на r и пытаюсь имитировать ту же логику, которая создана в Matlab и инициирована как

 library(R.matlab)

myFolder = "G:/minor_project/Indrajeet/Data/ExpData/SingleChannel with 
Array Steering/16 cell mesh slanting 30 deg";

if(!file.exists(myFolder))
{
 print("Error: The following folder does not exist")
} 
 

в настоящее время я знаю только функцию «readMat», есть ли какие-либо функции, которые будут работать так же, как fullfile и dir в r? если да, то к каким пакетам принадлежит эта функция

Комментарии:

1. Если я вас правильно понял, вам нужен объект, который будет содержать список файлов mat в вашей папке. сделайте это, mat_data_files <- list.files(path = myFolder, pattern = "*.mat", full.names = TRUE). read up ?list.files`

2. @infominer я. вы меня правильно поняли, ваше предложение работает, и я могу создать объект списка файлов mat и получить доступ к своим данным. Большое спасибо.

3. круто, рад, что у тебя это получилось.