reading values from file

I am trying to read values from an excel csv file using 89 patient's data with the 13 variables show. I then use if else statements and a decision tree to decide if patient has heart disease. I am having trouble using csvread and am unsure of how to get this piece of code to work. I have been told i should use a matrix to help. Any suggestions on how I could fix this code
data = csvread('C:\Users\User\Documents\Signal processing\testData CW1.csv');
for i = 1:89
patient_Age = data(i,1);
patient_Gender = data(i,2);
patientChestPain = data(i,3);
patientRestingBP = data(i,4);
Serum_Cholestorol = data(i,5);
Fasting_BloodSugar = data(i,6);
Resting_ECG = data(i,7);
maximum_HR = data(i,8);
exercise_Angina = data(i,9);
ST_Depression = data(i,10);
ST_Slope = data(i,11);
flouro_Results = data(i,12);
heart_Condition = data(i,13);
end

1 commentaire

Bhaskar R
Bhaskar R le 19 Nov 2019
Use importdata or readtable commands for the better extraction of the data

Connectez-vous pour commenter.

Réponses (1)

Philippe Lebel
Philippe Lebel le 19 Nov 2019

1 vote

You are over writing the variables each loop!
I'd do it this way:
data = csvread('C:\Users\User\Documents\Signal processing\testData CW1.csv');
patient_Age = data(:,1);
patient_Gender = data(:,2)
patientChestPain = data(:,3);
...

4 commentaires

Eddie Burns
Eddie Burns le 19 Nov 2019
Thanks,
I am getting this error message
Operands to the || and && operators must be convertible to logical scalar values.
Philippe Lebel
Philippe Lebel le 19 Nov 2019
what code generates this error (copy-paste please)
Eddie Burns
Eddie Burns le 19 Nov 2019
if patient_ChestPain >3 && Serum_Cholestorol <=0
disp("Patient has heart disease")
elseif patient_ChestPain >3 && Serum_Cholestorol >0 && ST_Depression >0.8 && ST_Slope >1
disp("Patient has heart disease")
.......
it's because now you have lists containing 89 data each.
for i = 1:length(patient_Age)
if (patient_ChestPain(i) >3) && (Serum_Cholestorol(i) <=0)
disp("Patient has heart disease")
elseif (patient_ChestPain(i) >3) && (Serum_Cholestorol(i) >0) && (ST_Depression(i) >0.8) && (ST_Slope(i) >1)
disp("Patient has heart disease")
end
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Biological and Health Sciences dans Centre d'aide et File Exchange

Produits

Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by