Return a value from a table

조회 수: 5 (최근 30일)
Ivan Glinski
Ivan Glinski 2019년 11월 29일
댓글: Ivan Glinski 2019년 11월 30일
Hello,
I have a table of annual quarters as row names and the dates those quarters began as a variable. I'm trying to create a command where given a quarter (R) I can lookup the quarter start date. I've read the documentation and searched for answers here, but am very lost so I'd appreciate any help!
Quarter = {'Q12019'; 'Q22019'; 'Q32019'; 'Q42019'; 'Q12020'; 'Q22020'; 'Q32020'; 'Q42020'};
QuarterStartDate = ['2019-01-01'; '2019-04-01'; '2019-07-01'; '2019-10-01'; '2020-01-01'; '2020-04-01'; '2020-07-01'; '2020-10-01'];
T = table(QuarterStartDate, 'RowNames', Quarter);
R = 'Q32019';
S = T(Quarter == 'R')
I was able to do something similar earlier that worked, but that was using numbers rather than characters. I tried doing the same thing, but that didn't work.
C = [ .80 ; .85 ; .90 ; .95];
P = [.55 ; .49 ; .44 ; .44];
T = table(C, P);
R = 0.95;
S = T{C == R, 2};
Thanks!
  댓글 수: 5
Ivan Glinski
Ivan Glinski 2019년 11월 30일
편집: Ivan Glinski 2019년 11월 30일
Thanks for your help!
After adding a parenthesis at the end to close the command around T, I get an error:
"Unrecognized variable name 'Quarter'."
Quarter is the row name, not a variable. If I change it so that Quarter is a variable in the table, I get the following error:
"Error: Functions cannot be indexed using {} or . indexing."
Image Analyst
Image Analyst 2019년 11월 30일
Try T.QuarterStartDate instead of T.Quarter.

댓글을 달려면 로그인하십시오.

채택된 답변

Stephan
Stephan 2019년 11월 30일
편집: Stephan 2019년 11월 30일
Quarter = {'Q12019'; 'Q22019'; 'Q32019'; 'Q42019'; 'Q12020'; 'Q22020'; 'Q32020'; 'Q42020'};
QuarterStartDate = ['2019-01-01'; '2019-04-01'; '2019-07-01'; '2019-10-01'; '2020-01-01'; '2020-04-01'; '2020-07-01'; '2020-10-01'];
T = table(QuarterStartDate, 'RowNames', Quarter);
R = 'Q32019';
S = T(R,:)
results in:
S =
table
QuarterStartDate
________________
Q32019 2019-07-01
if you need only the content use curly braces:
S = T{R,:}
S =
'2019-07-01'
  댓글 수: 1
Ivan Glinski
Ivan Glinski 2019년 11월 30일
It works, thank you!! I sort of can't believe the solution was this simple, but I'm still learning to think in Matlab terms.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품


릴리스

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by