文章目录

  • 不分亚组的描述统计
    • 使用向量操作计算单个变量的描述统计量
    • 计算汇总了多个变量的数据框的描述统计量:``sapply()``
    • ``psych``包:``describe()``
  • 分亚组的描述统计
    • ``aggregate()``
    • ``epiDisplay``包:``summ()``
    • ``psych``包:``describeBy()``

不分亚组的描述统计

MASS包中的数据集birthwt为示例。

使用向量操作计算单个变量的描述统计量

  • 单个变量统计函数计算的基本语法:统计函数(数据框$变量名)
  • 关于基本统计函数的更多内容,参见这里

计算汇总了多个变量的数据框的描述统计量:sapply()

使用dplyr包中的select,汇总数据框中的数值型变量。为防止重名导致的混淆,包名::函数名特指调用指定包内的函数。

> data(birthwt,package = "MASS")
> cont.vars<-dplyr::select(birthwt,age,lwt,bwt)

使用sapply(数据框名,统计函数名),计算该数据框内所有变量的指定描述统计结果。

> sapply(cont.vars,mean)age       lwt       bwt 23.2381  129.8148 2944.5873
> sapply(cont.vars,sd)age        lwt        bwt 5.298678  30.579380 729.214295
> sapply(cont.vars,min)
age lwt bwt 14  80 709
> sapply(cont.vars,max)age  lwt  bwt 45  250 4990

注意变量必须全为数值型 (预先使用select()挑选的原因)否则会报错:

> sapply(birthwt,mean)low          age          lwt         race NA   23.2380952  129.8148148           NA smoke          ptl           ht           ui NA    0.1957672           NA           NA ftv          bwt 0.7936508 2944.5873016
Warning messages:
1: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
2: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
3: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
4: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
5: In mean.default(X[[i]], ...) : 参数不是数值也不是逻辑值:回覆NA
> sapply(birthwt,sd)
Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) : Calling var(x) on a factor x is defunct.Use something like 'all(duplicated(x)[-1L])' to test for a constant vector.

psych包:describe()

psych包下describe()可以汇总的形式计算数据框内所有变量的常见描述统计量,忽略缺失值。注意所有分类变量都会被当作数值变量处理。

> library(psych)
> describe(birthwt)vars   n    mean     sd median trimmed    mad
low*      1 189    1.31   0.46      1    1.27   0.00
age       2 189   23.24   5.30     23   22.90   5.93
lwt       3 189  129.81  30.58    121  126.07  20.76
race*     4 189    1.85   0.92      1    1.81   0.00
smoke*    5 189    1.39   0.49      1    1.37   0.00
ptl       6 189    0.20   0.49      0    0.08   0.00
ht*       7 189    1.06   0.24      1    1.00   0.00
ui*       8 189    1.15   0.36      1    1.07   0.00
ftv       9 189    0.79   1.06      0    0.62   0.00
bwt      10 189 2944.59 729.21   2977 2961.76 834.70min  max range  skew kurtosis    se
low*     1    2     1  0.80    -1.36  0.03
age     14   45    31  0.71     0.53  0.39
lwt     80  250   170  1.38     2.25  2.22
race*    1    3     2  0.31    -1.75  0.07
smoke*   1    2     1  0.44    -1.82  0.04
ptl      0    3     3  2.76     8.17  0.04
ht*      1    2     1  3.55    10.67  0.02
ui*      1    2     1  1.97     1.87  0.03
ftv      0    6     6  1.56     3.00  0.08
bwt    709 4990  4281 -0.21    -0.14 53.04

分亚组的描述统计

aggregate()

基本语法:aggregate(数据框名,by=list(变量名=数据框名$变量名),统计函数名)。若其中存在分类变量,会报错。

> aggregate(cont.vars,by=list(smoke=birthwt$smoke),mean)smoke      age      lwt      bwt
1    no 23.42609 130.8957 3055.696
2   yes 22.94595 128.1351 2771.919

list()中可并列多个分类变量以实现交叉分组下的统计。

> aggregate(cont.vars,by=list(smoke=birthwt$smoke,race=birthwt$race),mean)smoke  race      age      lwt      bwt
1    no white 26.02273 138.8409 3428.750
2   yes white 22.82692 126.3077 2826.846
3    no black 19.93750 149.4375 2854.500
4   yes black 24.10000 142.6000 2504.000
5    no other 22.36364 119.1455 2815.782
6   yes other 22.50000 124.0000 2757.167

epiDisplay包:summ()

基本语法:summ(变量名,by=数据框名$分类变量名)

> summ(birthwt$bwt,by=birthwt$smoke)
For birthwt$smoke = no obs. mean     median  s.d.    min.   max.  115  3055.696 3100    752.657 1021   4990  For birthwt$smoke = yes obs. mean     median  s.d.    min.   max.  74   2771.919 2775.5  659.635 709    4238

除了输出基本统计量之外,同时还会输出一张图,用于探索数据的趋势、离群值很方便:

psych包:describeBy()

基本语法:describeBy(数据框名,数据框名$分类变量名)

> describeBy(birthwt,birthwt$smoke)Descriptive statistics by group
group: novars   n    mean     sd median trimmed    mad
low*      1 115    1.25   0.44      1    1.19   0.00
age       2 115   23.43   5.47     23   23.09   4.45
lwt       3 115  130.90  28.43    124  127.62  20.76
race*     4 115    2.10   0.93      2    2.12   1.48
smoke*    5 115    1.00   0.00      1    1.00   0.00
ptl       6 115    0.12   0.38      0    0.01   0.00
ht*       7 115    1.06   0.24      1    1.00   0.00
ui*       8 115    1.13   0.34      1    1.04   0.00
ftv       9 115    0.82   0.98      1    0.68   1.48
bwt      10 115 3055.70 752.66   3100 3086.14 816.91min  max range  skew kurtosis    se
low*      1    2     1  1.13    -0.74  0.04
age      14   45    31  0.77     1.00  0.51
lwt      85  241   156  1.30     2.00  2.65
race*     1    3     2 -0.19    -1.82  0.09
smoke*    1    1     0   NaN      NaN  0.00
ptl       0    2     2  3.19    10.13  0.04
ht*       1    2     1  3.63    11.24  0.02
ui*       1    2     1  2.17     2.72  0.03
ftv       0    4     4  1.20     1.15  0.09
bwt    1021 4990  3969 -0.28    -0.32 70.19
---------------------------------------
group: yesvars  n    mean     sd median trimmed    mad
low*      1 74    1.41   0.49    1.0    1.38   0.00
age       2 74   22.95   5.05   22.0   22.60   5.93
lwt       3 74  128.14  33.79  120.0  123.58  22.24
race*     4 74    1.46   0.76    1.0    1.33   0.00
smoke*    5 74    2.00   0.00    2.0    2.00   0.00
ptl       6 74    0.31   0.62    0.0    0.18   0.00
ht*       7 74    1.07   0.25    1.0    1.00   0.00
ui*       8 74    1.18   0.38    1.0    1.10   0.00
ftv       9 74    0.76   1.18    0.0    0.53   0.00
bwt      10 74 2771.92 659.63 2775.5 2782.55 630.10min  max range  skew kurtosis    se
low*     1    2     1  0.38    -1.88  0.06
age     14   35    21  0.55    -0.73  0.59
lwt     80  250   170  1.45     2.22  3.93
race*    1    3     2  1.23    -0.16  0.09
smoke*   2    2     0   NaN      NaN  0.00
ptl      0    3     3  2.11     4.46  0.07
ht*      1    2     1  3.38     9.53  0.03
ui*      1    2     1  1.67     0.80  0.04
ftv      0    6     6  1.85     4.03  0.14
bwt    709 4238  3529 -0.28     0.23 76.68

类似于describe(),该函数会把所有分类变量都会被当作数值变量处理。

R语言笔记-数值型变量的描述统计相关推荐

  1. R语言笔记④——数值摘要、缺失值、数据标准化、线性回归、多元线性回归和主成分分析

    数据摘要 反映集中程度的函数 下面是R中反映中程度的函数 mean():均值 median():中位数 quantile():分位数 > a <- c(1,5,6,9,7,5,6,7,2, ...

  2. R语言将字符型(Character)变量转化为数值型(Numeric)

    R语言将字符型(Character)变量转化为数值型(Numeric) 目录 R语言将字符型(Character)变量转化为数值型(Numeric) #基本语法

  3. R语言禁止数值表示为科学计数法实战(Turn Off Scientific Notation ):全局设置或者单变量设置

    R语言禁止数值表示为科学计数法实战(Turn Off Scientific Notation ):全局设置或者单变量设置 目录

  4. R语言编程 第一讲 变量与赋值

    R语言编程 第一讲 变量与赋值 R语言的变量名 赋值符号 <- 与 = 的区别 赋值符号 <- 的更多细节 Copy-on-Modify与Modify-in-Place 函数调用 列表 数 ...

  5. R语言笔记1:t检验和Wilcoxon检验

    转自新浪博客,转载地址:http://blog.sina.com.cn/s/blog_427c24ae0102wg7n.html 1.t检验 数据是高血压患者治疗前后舒张压的变化,这个内容最熟悉不过了 ...

  6. R语言将数值类型转换为字符串类型

    R语言将数值类型转换为字符串类型 目录 R语言将数值类型转换为字符串类型 R语言是解决什么问题的? R语言将数值类型转换为字符串类型 安利一个R语言的优秀博主及其CSDN专栏: R语言是解决什么问题的 ...

  7. R语言笔记-用tableStack汇总双变量分析结果

    文章目录 预处理 ``tableStack()``用法 以紧凑形式呈现:``name.test=FALSE`` 呈现所有变量的基本信息:``by="none"`` 呈现多分类变量水 ...

  8. R语言ggplot2可视化分组变量下的数据分布(线条、色彩配置)、WVPlots包的ShadowHist函数比较分组下的数据直方图、ggplot2分面图facet_wrap可视化分组变量下的数据分布

    R语言ggplot2可视化分组变量下的数据分布(线条.色彩配置).WVPlots包的ShadowHist函数比较分组下的数据直方图.ggplot2分面图facet_wrap可视化分组变量下的数据分布 ...

  9. JQuery源码-------JQuery中数值型变量的判断isNumeric

    判断一个数值型变量的方法,在jquery中非常简单,只有一行代码. isNumeric: function( obj ) {// parseFloat NaNs numeric-cast false ...

最新文章

  1. conda安装qiime2-清华镜像源替换法解决安装失败
  2. 脑电分析系列[MNE-Python-10]| 信号空间投影SSP数学原理
  3. 建立随机矩阵,及生成新矩阵
  4. Asp.net常用技巧
  5. QT的QHistoryState类的使用
  6. 05_专家的快速入门、加载MNIST数据集、数据集切分和混淆、定义类的方式构建模型、选择优化器和损失函数、训练模型和测试模型准确率
  7. 枚举:如何正确使用name()和toString()方法
  8. c语言限制字符数,C语言中“不受限制”的字符串函数总结.pdf
  9. 亿佰特物联网开关电源模块:压电发声器驱动器
  10. 程序员1w2以下的,2020年就要面对现实了...
  11. python开发本地WEB项目
  12. 《Python编程:从入门到实践》学习笔记——第5章 if语句
  13. 十五个AI图像放大工具
  14. ABB机器人动作监控和无动作执行的使用
  15. 关于DANet注意力机制
  16. 获取谷歌浏览器Chrome缓存目录
  17. IDEA 出现问题:PSI and index do not match 解决方案
  18. lwip【4】 lwIP配置文件opt.h和lwipopts.h初步分析之一
  19. python 黑白棋_python-黑白棋游戏需要说明
  20. 随机场(Random field)

热门文章

  1. 关于爱国者***的追踪报道[转]
  2. java imgui,发布使用 IMGui 基于 msys2 平台编写的软件
  3. 标准差计算机怎么按,如何使用计算机计算平均值及禁标准差
  4. (七)通过pygame来设置飞机大战中 敌机 的速度、位置等
  5. UVa 12112 - Iceman
  6. 常用英语口语句型100句
  7. 基于生成对抗网络的有遮挡人脸修复方法
  8. java excel 插入新行_POI ,Java 操作 Excel 實現行的插入(insert row)
  9. Web-app,一款简洁高效率绿色html编辑器-安卓软件
  10. JVM内存模型与内存溢出异常