matlab中table是什么类型,MATLAB新的统计数据类型Table

matlab 2013引入了新的统计数据类型table,主要功能是模仿R或S语言的.我一直被R语言中的数据类型dataframe所震撼,屡屡叹息大名鼎鼎的matlab居然没有.现在好了,有了table类型,一切迎刃而解.看来R作为统计语言霸主的地位似乎也可以动动了.

下面的示例是我布置给学生的作业,主要的目的是统计一篇文章中出现最多的10个字.

关键是学会table类型,理解统计因子和水平的概念.

测试环境matlab2014a

% 读取文件内容

filename=‘mydoc.txt‘; %文件名

fstr=fileread(filename); %读取文件内容

%fstr(isspace(fstr)) = [] ;%去除所有空格

fstr=regexprep(fstr,‘\W‘,‘‘);%去除所有标点符号

fstrLength=length(fstr); %统计文件字数

%

fstrcell=cell(length(fstr),1); %生成元胞数组

for n = 1:length(fstr)

fstrcell{n,1}= fstr(n);

end

WordCat = categorical(fstrcell); %建立分类统计变量

summary(WordCat);

ustr = unique(fstrcell);%获取分类因子的列表

cstr=countcats(WordCat);%计算各个分类因子的数目

[cstrsort,SortIndex] =sort(cstr);%从小到大排序

displaynum=10;%只显示最长出现的10个分类因子

for m =1:(length(cstr)-displaynum)

%删去出现频次较低的因子

WordCat = removecats(WordCat,ustr{SortIndex(m)});

end

% 绘制图形

figure(1)

hist(WordCat);

ylabel(‘出现次数‘)图形如下:

067fb8cd63a77bb32234e1f0a95a5cd1.png

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文:http://blog.csdn.net/rumswell/article/details/49401913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值