reading values from file

4 views (last 30 days)
Eddie Burns
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
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 Comment
Bhaskar R
Bhaskar R on 19 Nov 2019
Use importdata or readtable commands for the better extraction of the data

Sign in to comment.

Answers (1)

Philippe Lebel
Philippe Lebel on 19 Nov 2019
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 Comments
Philippe Lebel
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

Sign in to comment.

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!