Borrar filtros
Borrar filtros

[Num,Txt,R​aw]=xlsrea​d......

6 visualizaciones (últimos 30 días)
Cristina
Cristina el 15 de Jun. de 2012
Editada: Image Analyst el 20 de Mzo. de 2022
I used [Num,Txt,Raw]=xlsread to import a matrix containing both numerical and text data and Raw is a 2000*8 cell. When I try to compute eg mean(Raw(.,7)) the following message appears:
??? Undefined function or method 'sum' for input arguments of type 'cell'.
Error in ==> mean at 29 y = sum(x)/size(x,dim);
How can I convert cel into num values?
Thanks
  2 comentarios
C.J. Harris
C.J. Harris el 15 de Jun. de 2012
Why don't you use the numeric data to compute the mean etc?
Cristina
Cristina el 15 de Jun. de 2012
Because I have to make computations conditional to a list of variables.... e.g. Raw contains a colums country, rating... and I have to compute let's say the mean only if country=IT and rating=BBB. So I need both numerical and text data...

Iniciar sesión para comentar.

Respuestas (4)

Kye Taylor
Kye Taylor el 15 de Jun. de 2012
To convert cell to matrix use the cell2mat functions. For example,
mean(cell2mat(Raw(:,7)))

Andrei Bobrov
Andrei Bobrov el 15 de Jun. de 2012
sum for arguments of type double
eg
mean(Num(:,7));
  1 comentario
Cristina
Cristina el 15 de Jun. de 2012
ok but this is not a conditional mean...I need to compute the mean if eg country='IT'

Iniciar sesión para comentar.


Peter Perkins
Peter Perkins el 15 de Jun. de 2012
Cristina, if you have access to the Statistics Toolbox, you might find that using a dataset array is helpful the kind of thing you seem to be describing. You can read a spreadsheet into a dataset array, and then, for example, compute the mean of one variable conditional on values of other numeric or non-numeric variables.
This example on the File Exchange
seems more or less the kind of thing you are describing.

Syed Zubair shah
Syed Zubair shah el 20 de Mzo. de 2022
what does it means of Num , txt , Raw ... can we just assign it by T =xlsread(filename) ... if yes then how we call specific column then like F is a column of 1600 rows ?
[Num,Txt,Raw] = xlsread(filename)
  1 comentario
Image Analyst
Image Analyst el 20 de Mzo. de 2022
Editada: Image Analyst el 20 de Mzo. de 2022
[Num,Txt,Raw] = xlsread(filename, sheetName, 'F1:F1600');

Iniciar sesión para comentar.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by