Extract range from table
이전 댓글 표시
Hello,
I imported an existing excel sheet and now want to make a new variable which holds only certain columns of that sheet that I need (in my case participant IDs, randomisation conditions, etc., i.e. row 1, row 49, etc.). I have specified the ranges as variables (see below) but where do I put the range into the code?
% set path to where the session 1 protocol spreadsheet is
% datapath, filename, and sheet are already defined in my code
% import data (spreadsheet with subject overview)
% tildes are used for placeholder arguments
[~,~,Raw]=xlsread(fullfile(datapath,filename),sheet);
% make a table from the Raw cells
% datafile = cell2table(Raw)
Raw = cell2table(Raw);
% we only need certain columns: A=subject ID, AW=randomisation,..., so define needed columns and general range
% e.g. variable = data(line_from:line_to,column)
Subject_ID = Raw(2:end,1);
TT_randomisation = Raw(2:end,49);
Snack_weights = Raw(2:end,59:76);
Height = Raw(2:end,28)
Weight = Raw(2:end,27)
range = [Subject_ID,Height,Weight,TT_randomisation,Snack_weights];
Thank you!
댓글 수: 7
KSSV
2021년 1월 12일
Use readtable instead of xlsread.
Adam Danz
2021년 1월 12일
> I have specified the ranges as variables (see below) but where do I put the range into the code?
I don't understand this question. The ranges are 2:end, aren't they? The are already in the code.
Anna
2021년 1월 12일
Adam Danz
2021년 1월 12일
You're indexing the variable Raw which is produced by xlsread so I'm confused about applying the indices to xlsread.
Unless you're using an old version of Matlab, I agree with KSSV's suggestion to use readtable (released in r2013b).
Anna
2021년 1월 12일
Anna
2021년 1월 15일
Anna
2021년 1월 15일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Data Import from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!