资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

R语言怎么实现数据汇总

本篇内容主要讲解“R语言怎么实现数据汇总”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言怎么实现数据汇总”吧!

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的牙克石网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

行列求和、平均值和频度

rowSums, colSums,rowMeans, colMeans 可以简单理解为按行或列求和或求均值,table把数字或字符当成因子统计频度,都相当简单:

1.   > a <- array(rep(1:3, each=3), dim=c(3,3)) 

2.   > a 

3.   > rowSums(a) 

4.   [1] 6 6 6 

5.   > colSums(a) 

6.   [1] 3 6 9 

7.   > table(a) 

对于多维数组,rowSums,colSums, rowMeans, colMeans的使用稍为复杂点。它们的参数为:

1.   colSums (x, na.rm = FALSE, dims = 1) 

2.   rowSums (x, na.rm = FALSE, dims = 1) 

3.   colMeans(x, na.rm = FALSE, dims = 1) 

4.   rowMeans(x, na.rm = FALSE, dims = 1) 

其中dims为整数,表示哪个或哪些维数被看做行或列,对于row统计函数,dims+1及以后的维度被看做行,对于col函数,dims及以前的维度(1:dims)被看做列:

1.   > b <- array(rep(1:3, each=9), dim=c(3,3,3)) 

2.   > b 

3.   > rowSums(b) 

4.   [1] 18 18 18 

5.   > rowSums(b,dims=1) 

6.   [1] 18 18 18 

7.   > rowSums(b,dims=2) 

8.        [,1] [,2] [,3] 

9.   [1,]    6    6    6 

10.  [2,]    6    6    6 

11.  [3,]    6    6    6 

12.  > colSums(b) 

13.       [,1] [,2] [,3] 

14.  [1,]    3    6    9 

15.  [2,]    3    6    9 

16.  [3,]    3    6    9 

17.  > colSums(b,dims=2) 

18.  [1]  9 18 27 

table可以统计数字出现的频率,也可以统计其他可以被看做因子的数据类型:

1.   > table(b) 

2.   b 

3.   1 2 3  

4.   9 9 9  

5.   > c <- sample(letters[1:5], 10, replace=TRUE)  

6.   > c 

7.    [1] "a" "c" "b" "d" "a" "e" "d" "e" "c" "a" 

8.   > table(c) 

9.   c 

10.  a b c d e  

11.  3 1 2 2 2  

如果参数不只一个,它们的长度应该一样,结果是不同因子组合的频度表:

1.   > a <- rep(letters[1:3], each=4) 

2.   > b <- sample(LETTERS[1:3],12,replace=T) 

3.   > table(a,b) 

4.      b 

5.   a   A B C 

6.     a 0 3 1 

7.     b 3 0 1 

8.     c 1 1 2 

到此,相信大家对“R语言怎么实现数据汇总”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网页题目:R语言怎么实现数据汇总
文章转载:http://cdkjz.cn/article/ijcoii.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220