我上一篇讲了如何导入csv文件等,直奔主题。
1.以insurance.csv文件为列。我这个文件共有7个变量每一个变量有1338个值。
2.我想要读取age一列并求出它的均值,标准差,最小值,最大值以及中位数并画出它的直方图。
(1)代码读取
%读取文件全部内容
A=importdata('insurance.csv')
b=A.textdata
b(:,1)%我们会发现读取出来的数据都是字符串型,我们先把age一列提取出来
%将字符串转换成整形
b1= b(:,1)%(1)先将b(:,1)赋值给d
b2=[b1]%(2)然后把d变成矩阵
b2=str2double(b1)%(3)将字符串变成double
class(b2)%c查看数据类型
%接下来我们就可以计算age的均值,标准差,最小值,最大值以及中位数并画出它的直方图。
b2(any(isnan(b2)'),:)=[]%将第一行的NaN去掉,否则会引起误差。百度很久才知道NaN是啥,简单说就是违背数学计算规律,有了NaN会导致标准差等产生误差,所以必须去除。
max=max(max(b2))%最大值
min=min(min(b2))%最小值
mean(b2,'omitnan')%均值
bzc=std(b2)%标准差
median=median(b2)%中位数
hist(b2)%age直方图
3.若是不用代码读取呢(方法比用代码读取简单)
(1)读取age一列的向量
max=max(max(b2))%最大值
min=min(min(b2))%最小值
mean(b2,'omitnan')%均值
bzc=std(b2)%标准差
median=median(b2)%中位数
hist(b2)%age直方图
这么一看是不是特别简单呢!
我会把insurance.csv单独文件上传的。