Extracting data from a table

11 次查看(过去 30 天)
I have a table with multiple variables most of which are numerical. I have one variable which is categorical, I would like to be able to extract all the data relating to the specific variable.
For example my categories are REST, EXERCISE and RECOVERY. The data is split into 22 different variables (of which the phase is column 20) and I would like to create a table with only the REST data in it.
Currently, the data belongs to 'TestTable' which is a 130x22 table (the number of rows in the table will vary depending on the data set).
Any suggestions would be greatly appreciated, and as simple as possible please!

采纳的回答

Guillaume
Guillaume 2016-8-15
This is basic table filtering:
resttable = TestTable(TestTable.Phase == 'REST', :) %select only those rows that are REST and all columns
or
resttable = TestTable(TestTable{:, 20} == 'REST', :)
I'd recommend the first syntax.
  5 个评论
Peter Perkins
Peter Perkins 2018-3-28
You need to create a logical vector that is true for rows in those two categories. Ignore tables for a moment. How would you create a logical vector based on two conditions?
Toshikazu Kawagoe
Toshikazu Kawagoe 2018-6-26
I did the same thing for my table data but MATLAB said you cannot use '==' for cell data. What should I do?

请先登录,再进行评论。

更多回答(1 个)

Pawel Ladosz
Pawel Ladosz 2016-8-15
编辑:Pawel Ladosz 2016-8-15
Hi Teresa, to get the REST Column from the table the command would look something like this:
A = TestTable{:,{'REST'}}
Or
A = TestTable.REST
Let me know if any of those worked for you.
  2 个评论
Guillaume
Guillaume 2016-8-15
If I understood correctly, 'REST' is not a variable of the table, but one of the categories of the 'PHASE' variable.
Pawel Ladosz
Pawel Ladosz 2016-8-15
Yes I think you are correct, I misunderstood the question.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by