数据清洗

数据清洗,我的理解是:将口语化的语言,数字化,模糊化。

  1. 即刻面抽–,对该列中出现的汉子、符号进行量化处理:
    10
    0
    - 0
  2. “出院面抽”,分别出现了“有”,“无”,“+”,“-”等,进行量化处理:
    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)

 

posted @ 2017-10-26 10:32  温酒待君归  阅读(275)  评论(0)    收藏  举报
levels of contents