Identify and delete a specific column?

15 次查看(过去 30 天)
Hi guys!
I need to delete 1 specific column, which may be in different positions (e.g. it can be the 1st, 2nd or 3rd column) depending on the file in use. The specific column to delete is the one where in the 1st row indicates 'O' (O for the element Oxygen). This might be simple, but I'm at beginner level. Any help would be very much appreciated!
  2 个评论
Massimo Zanetti
Massimo Zanetti 2016-9-29
Column of what? What is your data, matrix, cell, array? Put examples in your explanation otherwise no one can understand your problem.
This will help you to get an answer.
Ana Castanheiro
Ana Castanheiro 2016-9-29
Thanks Massimo!
Well I tried to put together the ID of chemical element (1st row in the image) with the composition, but I'm not sure how to distinguish between matrix and cell.
Anyway, the image shows how I have my data. I need to find a way to identify the column with O, and delete this column from the data. And my input source files can have the O in different positions.
I tried to use the find function, but I'm not sure that I can use it for my data. And maybe you can help in this fundamental question: make sense to have data built-up like mine, with both values with "text"? Thanks again!

请先登录,再进行评论。

采纳的回答

Guillaume
Guillaume 2016-9-29
编辑:Guillaume 2016-9-29
YourCellArray(strcmp(YourCellArray(1, :), 'O'), :) = []
will delete all columns for which the first row is 'O'.
With regards to the data structure, it's fine to have it as you have as a cell array, but maybe better would be to have a table with just numbers and name the columns after the elements:
composition = cell2table(YourCellArray(2:end, :), 'VariableNames', YourCellArray(1, :));
To remove the 'O' column is then trivial:
composition.O = [];

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dimensionality Reduction and Feature Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by