Effacer les filtres
Effacer les filtres

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

6 vues (au cours des 30 derniers jours)
Cristina
Cristina le 15 Juin 2012
Modifié(e) : Image Analyst le 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 commentaires
C.J. Harris
C.J. Harris le 15 Juin 2012
Why don't you use the numeric data to compute the mean etc?
Cristina
Cristina le 15 Juin 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...

Connectez-vous pour commenter.

Réponses (4)

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

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

Connectez-vous pour commenter.


Peter Perkins
Peter Perkins le 15 Juin 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 le 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 commentaire
Image Analyst
Image Analyst le 20 Mar 2022
Modifié(e) : Image Analyst le 20 Mar 2022
[Num,Txt,Raw] = xlsread(filename, sheetName, 'F1:F1600');

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by