今天浏览R包,发现一个不错的包——DescrTab2包。

看R包介绍,这个包可以绘制出版物质量级别的描述统计表。

看起来很不错。

下面来学习下。

1. R包安装和加载

install.packages("DescrTab2") # 安装包library(DescrTab2) # 加载包

2. 加载演示数据集

library(magrittr) # 加载R包dat "Species", "Sepal.Length")]# 选择iris数据集的"Species", "Sepal.Length"变量另建一个dat数据集dat %<>% mutate(animal= c("Mammal", "Fish") %>% rep(75) %>% factor())# 在dat数据集中新建一个分组变量animal,水平为"Mammal", "Fish"。dat %<>% mutate(food= c("fries", "wedges") %>% sample(150, TRUE) %>% factor())# 在dat数据集中新建一个分组变量food,水平为"fries", "wedges"。

dat

在数据集中,有150行数据,4个变量,其中Species、animal、food这三个变量为分组变量,Sepal.Length变量为连续变量。

3. 创建描述统计表

在DescrTab2包,使用descr()函数来创建统计描述表。

直接将数据集放在函数中即可创建简单的统计描述表。

descr(dat)

如上图所示,就简单的创建了一个描述统计表。

上面结果总共输出了4列数据。

第一列为变量,包括连续变量和分类变量。连续变量的结果有例数、均数、标准差、中位数、四分位间距、极差等;分类变量则显示每个分类水平。

第二列变量显示第一列各数据的数值;

第三列显示P值;

第四列显示P值的计算方法,分类变量为卡方拟合优度检验,连续变量为单样本t检验。

4. 访问表格元素

如果我们需要获取表格中的某些统计数值,可以将descr(dat)传递给一个参数,这个参数是一个list列表,然后再读取其中的数值。

# my_table是一个list列表。my_table 

# 可以使用$符号访问my_table中的结果my_table$variables$Sepal.Length$results$Total$mean# [1] 5.843333

5. 指定分组变量

上面我们是没有添加分组变量的,现在我们在描述统计表中添加一个分组变量看看。

比如说在描述统计标准中添加Species分组变量。

descr(dat, "Species")

如上图所示,多组连续变量执行F检验,单因素方差分析。多组分类变量,也就是列联表资料,执行皮尔逊卡方检验。

6. 添加组标签

可以给上图中的行变量和分组变量分别添加标签,换句话说就是修改这些变量的名称。

descr(dat, "Species",       group_labels=list(setosa = "setosa自定义",                         versicolor = "versicolor自定义",                        virginica = "virginica自定义"),       var_labels = list(Sepal.Length = "Sepal.Length标签",                        animal = "animal变量",                         food = "food标签"))

7. 计算两组比较的置信区间

如果分组变量是二分类变量,函数会自动计算并输出置信区间的数值,三分类变量及以上就不会输出了。

descr(dat, "animal")

8. 指定统计检验方法

上面执行的统计检验方法都是默认的,也可以执行我们指定的统计检验方法。

更多的统计检验方法选择:https://imbi-heidelberg.github.io/DescrTab2/articles/test_choice_tree_pdf.pdf

# 去掉数据集中的"Species"变量,余下的变量执行精确检验和非参数检验descr(dat %>% select(-"Species"), "animal",       test_options = list(exact=TRUE, nonparametric=TRUE))

分组变量为animal,Sepal.Length变量执行Mann-Whitney U test,food变量执行Boschloos test。

descr(dat %>% select(c("Species", "Sepal.Length")), "Species",      test_options = list(nonparametric=TRUE))

同上。

9. 配对设计t检验

在配对设计中,分组变量通常跟时间有关,比如说某一处理前后的比较。

在这种情况下,你需要设置索引变量来指定哪些不同时间点的观察值需要进行配对。

descr(dat %>% mutate(animal = fct_recode(animal, Before="Fish", After="Mammal"))       %>% select(-"Species"), "animal",      test_options = list(paired=TRUE, indices=rep(1:75, each=2)))

10. 设置有效数字

DescrTab2包中的每部分摘要统计信息都可以通过相应的参数进行设置。

比如说设置均数和标准差的有效数字。

descr(dat, "Species",       format_summary_stats = list(        mean=function(x)formatC(x, digits = 4),        sd = function(x)formatC(x, digits = 5))      )

11. 合并均值和标准差

使用format_options = list(combine_mean_sd=TRUE)即可。

descr(dat, "Species", format_options = c(combine_mean_sd=TRUE))

有兴趣的可以点击阅读原文进行更深入的学习。

参考资料

  1. DescrTab2包帮助文件

既往专辑

c++ pdflib输出表格_DescrTab2包,输出SCI级别的描述统计表相关推荐

  1. matlab图像输出表格_matlab 图像输出3维字

    废话不多说. str='E'; scale=10; % 绘制 3D 文字 new_fig = figure('visible','on'); word_handle = text(0.01,0.5,s ...

  2. [shell脚本]可视化输出表格数据

    image.png 最终效果 1. 自定义表格样式 image.png 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以 ...

  3. 【Python 实战基础】Pandas如何输出表格数据标题名称列表

    目录 一.实战场景 二.主要知识点 文件读写 基础语法 Pandas read_csv 三.菜鸟实战 1.创建 python 文件 2.运行结果 一.实战场景 实战场景:Pandas如何输出表格数据标 ...

  4. 【PHPWord】基于Word模板替换生成输出表格动态生成内容、合并单元格、设置单元格背景颜色

    文章目录 一.前言 二.业务需求 三.功能实现 1.处理数据 2.Word模板 3.输出动态数据 四.完整代码和模板 1.Word模板 2.完整代码 五.总结 一.前言 在之前的文章中,我们做了直接生 ...

  5. php中遍历二维数组并以表格的形式输出

    一.索引数组 //使用array()语句结构将联系人列表中所有数据声明为一个二维数组,默认下标是顺序数字索引 $contact1=array( //定义外层数组 array(1,'高某','A公司', ...

  6. 用PHP程序来查询数据库内容并以表格的形式输出

    <?php     //1.连接数据库     $link=mysql_connect("localhost","root","158369&q ...

  7. iOS中,怎样将数据以xls表格的形式输出

    最近做一个项目,需要把时延以表格的形式输出,方便后续的数据可视化. -(void)xlsData{NSUserDefaults *userDef = [NSUserDefaults standardU ...

  8. php 输出内容到表格,phpexcel 输出表格到页面(在线预览表格),导出excel

    php导出excel我们经常采用phpexcel方便,可是在开发过程中,没修过一次就点击下载一个excel文件着实麻烦,而且还不容易调试错误.其实phpexcel 还可以输出表格到页面,方便调试 实例 ...

  9. 用针孔打印机打印SMARTFORMS时表格线无法输出的问题

    问题:在SMARTFORMS中,由于针孔打印机的分辨率较小,会导致部分表格线无法输出. 解决方法:修改表格线的宽度,可从15TW改至30TW. 注意:1 在修改完宽度之后,要重新设置边框模式. 至此系 ...

最新文章

  1. 真正的全栈工程师!B站硬核UP主自己造了一个激光雷达
  2. 自己构建一个高效缓存服务!
  3. EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级
  4. 解决“无法从套接字读取更多数据”
  5. 【HDU - 3038】How Many Answers Are Wrong (带权并查集--权为区间和)
  6. 干货收藏!639页《深度学习:Deep Learning》图文并茂课程PPT
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校大学生社团招新管理系统
  8. vuejs知乎_你也许不知道的Vuejs - 深入浅出响应式系统
  9. 逻辑表达式是否合法_Linux shell 逻辑运算符、逻辑表达式详解
  10. 零点是结束,也是开始。
  11. Linux paste命令
  12. hitool java_Hitool打开出现failed to create the java virtual machine
  13. 10个程序员可以接私活的平台和一些建议
  14. php 文字合成图片,PHP图片和文字合成
  15. 【眼见为实】自己动手实践理解数据库REPEATABLE READ Next-Key Lock
  16. 哮喘模型造模构建制备 治疗哮喘新药的药效学评估
  17. /proc/sysrq-trigger
  18. STC 51单片机43——看门狗
  19. 基于STM32C8T6语音数字的播报小算法
  20. 信号量集(主要是AND信号量)

热门文章

  1. C# 温故而知新:Stream篇(六)
  2. NYOJ88(数论)
  3. [剑指offer][JAVA]面试题第[07]题[重建二叉树][递归]
  4. Java学习笔记11-1——Spring5
  5. jdbctemplate 开启事务_SpringBoot 系列教程之事务隔离级别知识点小结
  6. 无规则弹窗自动点击插件_vscode 插件会了吧,英语不好的赶紧下载 自动分析源码中的陌生单词、点击朗读单词...
  7. 弹出并点击弹框关闭 自定义toast_关于别名配置使用弹框交互应用的思考
  8. mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理
  9. socket工具android,Android通过socket长连接实现推送
  10. 爬楼梯 java_Leetcode 70.爬楼梯(Java)