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

9 visualizzazioni (ultimi 30 giorni)
Cristina
Cristina il 15 Giu 2012
Modificato: Image Analyst il 20 Mar 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 Commenti
C.J. Harris
C.J. Harris il 15 Giu 2012
Why don't you use the numeric data to compute the mean etc?
Cristina
Cristina il 15 Giu 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...

Accedi per commentare.

Risposte (4)

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

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

Accedi per commentare.


Peter Perkins
Peter Perkins il 15 Giu 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 il 20 Mar 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 Commento
Image Analyst
Image Analyst il 20 Mar 2022
Modificato: Image Analyst il 20 Mar 2022
[Num,Txt,Raw] = xlsread(filename, sheetName, 'F1:F1600');

Accedi per commentare.

Categorie

Scopri di più su Data Import and Export in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by