How to Check if a cell equals a word in a table

41 visualizaciones (últimos 30 días)
John Leben
John Leben el 15 de Abr. de 2021
Editada: Matt J el 15 de Abr. de 2021
Does anyone know how to check a string in a cell in a table to detect if it is a specific word? For example, I have a table that has a bunch of rows. In each row is 1 word. I want to figure out how often a word appears in the table for a specific column.
My approach was to use a while loop with an if statement that would increase a variable every time the logic returned true. The logic is supposed to return true if the cell in the table is a specific string such as 'Aluminum' or 'plastic'. However, MATLAB does not allow me to use the == operator in a table. Does anyone know if there is a workaround?
My approach that did not work
x = readtable('litterati_processed_data.csv')
y = 1;
paper = 0;
otherstuff = 0;
while y <= 5936
if x(y, 11) == 'paper'
paper = paper + 1;
else
otherstuff = otherstuff + 1;
end
y + 1;
end

Respuestas (1)

Matt J
Matt J el 15 de Abr. de 2021
Editada: Matt J el 15 de Abr. de 2021
As an example,
x=cell2table({'dog','paper','cat','fish','paper'}.')
x = 5×1 table
Var1 _________ {'dog' } {'paper'} {'cat' } {'fish' } {'paper'}
paper=nnz( string(x{:,1})=="paper")
paper = 2
otherstuff=size(x,1)-paper,
otherstuff = 3

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by