R语言笔记 分组计算描述性统计量aggregate, summaryBy ,describe.by

在比较多组个体或观测时,关注的焦点经常是各组的描述性统计信息,而不是样本整体的描

述性统计信息。同样地,在R中完成这个任务有若干种方法。我们将以获取变速箱类型各水平的

描述性统计量开始。

vars<- c("mpg","hp","wt")

> aggregate(mtcars[vars],by=list(am=mtcars$am),median)

am  mpg  hp   wt

1  0 17.3 175 3.52

2  1 22.8 109 2.32

注意list(am=mtcars$am)的使用。如果使用的是list(mtcars$am),则am列将被标注为

Group.1而不是am。你使用这个赋值指定了一个更有帮助的列标签。如果有多个分组变量,可以

使用by=list(name1=groupvar1, name2=groupvar2, ... , groupvarN)这样的语句。

> aggregate(mtcars[vars],by=list(am=mtcars$am,gear=mtcars$gear),median)

am gear   mpg    hp    wt

1  0    3 15.50 180.0 3.730

2  0    4 21.00 109.0 3.315

3  1    4 25.05  79.5 2.260

4  1    5 19.70 175.0 2.770

------------------------------------------------

doBy包和psych包也提供了分组计算描述性统计量的函数。同样地,它们未随基本安装发布,

必须在首次使用前进行安装。doBy包中summaryBy()函数的使用格式为

> summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mtstat)

am mpg.n mpg.mean mpg.stdev mpg.skew mpg.kurtosis hp.n  hp.mean hp.stdev   hp.skew hp.kurtosis wt.n wt.mean  wt.stdev   wt.skew wt.kurtosis

1  0    32 20.09062  6.026948 0.610655    -0.372766   32 146.6875 68.56287 0.7260237  -0.1355511   32 3.21725 0.9784574 0.4231465 -0.02271075

>

> describe.by(mtcars[vars],mtcars$am)

group: 0

vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se

mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37  1.07

hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14 12.12

wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02  0.17

------------------------------------------------------------------------------

的reshape包灵活地按组导出描述性统计量

> dfs <- melt(mtcars,measure.vars=c("mpg","hp","wt"),id.vars=c("am","cyl"))

> cast(dfs,am+cyl+variable~.,dstats)

am cyl variable  n       mean         sd

1  0   4      mpg 11  26.663636  4.5098277

2  0   4       hp 11  82.636364 20.9345300

3  0   4       wt 11   2.285727  0.5695637

4  0   6      mpg  7  19.742857  1.4535670

5  0   6       hp  7 122.285714 24.2604911

6  0   6       wt  7   3.117143  0.3563455

7  0   8      mpg 14  15.100000  2.5600481

8  0   8       hp 14 209.214286 50.9768855

9  0   8       wt 14   3.999214  0.7594047

时间: 2024-10-11 18:04:38

R语言笔记 分组计算描述性统计量aggregate, summaryBy ,describe.by的相关文章

R语言笔记005——计算描述性统计量

数据的分布特征: 分布的集中趋势,反应各数据向其中心值靠拢或聚集的程度(平均数,中位数,四分位数,众数) 分布的离散程度,反应各数据远离其中心值的趋势(极差,四分位差,方差,标准差,离散系数) 分布的形状,反应数据分布的偏斜程度和峰度(偏态系数,峰度系数) ####################### 平均数(均值):一组数据相加后除以数据的个数而得到结果,称为平均数(mean) 中位数:一组数据排序后处于中间位置上的变量值,称为中位数(median) 四分位数:一组数据排序后处于25%(下四

R语言笔记 计算描述性统计量的函数

其中包括Hmisc.pastecs和psych.由于这些包并未包括在基础安装中. > library(Hmisc) > describe(mtcars[vars]) mtcars[vars] 3  Variables      32  Observations ----------------------------------------------------------------------------------------------------------------------

R语言笔记之语法篇

R语言基础之语法 分支结构Ifelse和 Ifelse函数 循环结构 for循环 while循环 repeat循环 breaknext 函数和包 1函数 1创建 2查看函数代码 3导入R文件 2包的安装和加载 1包的安装 2包的加载 向量化计算 1普通的加减乘除 2apply家族 1 applyxMARGIN2 2 lapply列表函数名函数其他参数 3 sapply列表函数名函数其他参数 4 mapply列表函数名函数其他参数 5 tapply向量因子因子列表函数函数名 3split 排序 数

R语言笔记 R中设置图形参数--函数par()详解

R有着非常强大的绘图功能,我们可以利用简单的几行代码绘制出各种图形来,但是有时候默认的图形设置没法满足我们的需要,甚至会碰到各种各样的小问题:如坐标轴或者标题出界了,或者图例说明的大小或者位置遮挡住了图形,甚至有时候默认的颜色也不能满足我们的需求.如何进行调整呢?这就用到了"强大"的函数par().我们可以通过设定函数par()的各个参数来调整我们的图形,这篇博文就是对函数par()的各个参数进行一下总结. 函数par()的使用格式如下: par(..., no.readonly =

R语言的导数计算(转)

转自:http://blog.fens.me/r-math-derivative/ 前言 高等数学是每个大学生都要学习的一门数学基础课,同时也可能是考完试后最容易忘记的一门知识.我在学习高数的时候绞尽脑汁,但始终都不知道为何而学.生活和工作基本用不到,就算是在计算机行业和金融行业,能直接用到高数的地方也少之又少,学术和实际应用真是相差太远了. 不过,R语言为我打开了一道高数应用的大门,R语言不仅能方便地实现高等数学的计算,还可以很容易地把一篇论文中的高数公式应用于产品的实践中.因为R语言我重新学

R语言笔记之数据篇

R语言杂七杂八 与R语言有关的应用工具 探索性数据分析 统计推断 回归分析 机器学习-分类问题 R与Rstudio的获取与安装 包package一种扩展R基本功能的机制集成了众多函数 获取包 导入包libraryname 获取帮助 R语言特点 R语言语法基础之数据篇 R语言中的数据 R语言支持的数据类型 基本数据结构 一维数据类型 向量 vocter 1创建 2提取子集 因子 factor 1创建 2提取子集 二维数据类型 矩阵 matrix 1生成矩阵 1matrix方法 2 修改dim属性来

R语言笔记

循环: repeat { your code if( ) { break } } while (test_expression) { statement } for ( i in v) { print(i) } 函数: function_name <- function(arg_1, arg_2, ...) { Function body } 函数的返回值是要评估的函数体中的最后一个表达式 pair与map: list() #Create a hash object h = hash() #ad

R语言笔记5--读数据

1.读文本文件数据 (1)先设置工作目录,把文本文件放于该目录下 备注:在记事本里写完数据后,按一下回车,负责在R语言中出现错误 (2)读剪贴板 文本或EXCEL的数据均可通过剪贴板操作 (3)读excel文件数据 方法1:先把excel另存为空格分隔符的prn文件格式再读     方法2:安装RODBC包,再通过ODBC读

R语言笔记 提醒程序员注意的一些事项

经验丰富的程序员通常会发现R语言的某些方面不太寻常.以下是这门语言中你需要了解 的一些特性. 对象名称中的句点(.)没有特殊意义.但美元符号($)却有着和其他语言中的句点 类似的含义,即指定一个对象中的某些部分.例如,A$x是指数据框A中的变量x. R不提供多行注释或块注释功能.你必须以#作为多行注释每行的开始.出于调试目的, 你也可以把想让解释器忽略的代码放到语句if(FALSE){... }中.将FALSE改为TRUE 即允许这块代码执行. 将一个值赋给某个向量.矩阵.数组或列表中一个不存在