数据清洗
数据清洗,我的理解是:将口语化的语言,数字化,模糊化。
- 即刻面抽,对该列中出现的汉子、符号进行量化处理:
有 10 无 0 - 0 - “出院面抽”,分别出现了“有”,“无”,“+”,“-”等,进行量化处理:
有 10 + 10 无抽搐,右面轻瘫 8 偶有抽动 5 轻微 3 轻微调到 2
使用matlab编程,将Excel表中的相应的列读取出来,并做对应的分析(其实,Excel本身就可以进行如下的分析):
下面贴出MATLAB代码:
clc;clear;close all; num1 = xlsread('c:\Users\Jing\Documents\MATLAB\test.xls',1,'N2:N199'); count1=hist(num1,unique(num1)); Table1=tabulate(num1(:)); figure; bar(Table1(:,1),Table1(:,2),0.03); title('即刻面抽'); %xlabel('x坐标(可任意写)');ylabel('y坐标');text(2.5,6,'可任意放'); hold on num2 = xlsread('c:\Users\Jing\Documents\MATLAB\test.xls',1,'O2:O199'); count2=hist(num2,unique(num2)); Table2=tabulate(num2(:)); figure; bar(Table2(:,1),Table2(:,2),0.3,'r');%'r'表示颜色 title('出院面抽'); grid on %统计临时面瘫的人数 n1=0; n2=0; m=length(num1); for j=1:m if num1(j)==10 n1=n1+1; end end %统计同时临时面瘫和回去面瘫的人数 for i=1:m if num1(i)==10&num2(i)==10 n2=n2+1; end end % 画出同时面瘫与临时面瘫的比例 X=[n2,n1-n2]; label={'同时面抽','即刻面抽出院无面抽'}; explode=[1 3];%定义突出部分 bili=X/sum(X);%计算比例 baifenbi=num2str(bili'*100,'%1.2f');%计算百分比 baifenbi=[repmat(blanks(2),length(X),1),baifenbi,repmat('%',length(X),1)]; baifenbi=cellstr(baifenbi); Label=strcat(label,baifenbi'); figure pie(X,explode,Label)