1 view (last 30 days)
Eddie Burns on 19 Nov 2019
Commented: Philippe Lebel on 19 Nov 2019
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
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
Bhaskar R on 19 Nov 2019
Use importdata or readtable commands for the better extraction of the data

Philippe Lebel on 19 Nov 2019
You are over writing the variables each loop!
I'd do it this way:
patient_Age = data(:,1);
patient_Gender = data(:,2)
patientChestPain = data(:,3);
...
Eddie Burns on 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")
.......
Philippe Lebel on 19 Nov 2019
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

### Categories

Find more on Biological and Health Sciences in Help Center and File Exchange

R2017b

### Community Treasure Hunt

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

Start Hunting!