r 函数返回多个值_第四讲 R描述性统计分析

00f9b8ca633044187100a95163c8ac5a.gife28f814c8a22e73413887fbda63af508.gif

在“R与生物统计专题”中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现。以从浅入深,层层递进的形式在投必得医学公众号更新。

在上一讲中,我们介绍了第三讲 R编程基础-矩阵和数据框 (戳这里即可跳转)到现在为止,大家已经学完了R语言的基础知识,马上就开始进阶地学习一些R语言相关的统计学技能了。

今天的更新,我们会带您学习R的基本统计学技能:描述性统计分析。

1. 将数据导入R

1.1 准备好你的数据命名约定
  • 避免名称带有空格。

        好的列名:patient_age或patient.age。

        列名错误:patient age。

  • 避免使用带有特殊符号的名称:?,$,*,+,#,(,),-,/,},{,|,>,

  • 避免以数字开头的变量名。请改用字母。

    好的列名称:patient_1st_meal或x1st_meal。

    列名错误:1st_male

  • 列名必须是唯一的。不允许重复的名称。

  • R区分大小写。这意味着名称不同于名称或名称。

  • 避免数据中出现空白行。

  • 删除文件中的任何评论。

  • 用NA替换缺少的值(不可用)。

  • 如果你有包含日期的列,请使用四位数格式

    格式良好:20160101。

    格式错误:01/01/16

1.2 将数据保存在外部.txt标签或.csv文件中1.3 如下将数据导入R
# 对于.txt文件my_data 
# 对于.csv文件my_data 

在这里,我们将使用名为iris的内置R数据集。

# 导入R内自带的iris数据集library(datasets)data(iris)
# 将数据存储在变量my_data中my_data 
1.3 检查数据

你可以使用head()和tails()函数检查数据,这将分别显示数据的第一部分和最后一部分。

# 显示前六行内容head(my_data, 6)

输出结果如下

Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1          5.1         3.5          1.4       0.2  setosa

2          4.9         3.0          1.4       0.2  setosa

3          4.7         3.2          1.3       0.2  setosa

4          4.6         3.1          1.5       0.2  setosa

5          5.0         3.6          1.4       0.2  setosa

6          5.4         3.9          1.7       0.4  setosa

2. 常用的描述性统计的R函数

一些用于计算描述性统计量的R函数:

✎ R函数 

6f13dcce22dc0b020f45e5bc3553d839.png

3. 单个组的描述性统计

3.1 集中趋势的度量:均值,中位数,众数

粗略地说,集中趋势衡量的是数据的“平均”或“中间”。最常用的衡量指标包括:

集中趋势

平均值:平均值。它对异常值很敏感。

中位数:中间值。这是一个强有力的替代手段。

众数:最频繁出现的值

在R中

  • 函数mean()和median()可以分别计算平均值和中位数;

# 计算平均值mean(my_data$Sepal.Length)

[1] 5.843333

# 计算中位数median(my_data$Sepal.Length)

[1] 5.8

3.2 可变性的度量

可变性度量给出了数据“分散”的程度。

范围

极值:最小值和最大值

范围:最大值减去最小值

# 计算最小值min(my_data$Sepal.Length)

[1] 4.3

# 计算最大值max(my_data$Sepal.Length)

[1] 7.9

# 范围range(my_data$Sepal.Length)

[1] 4.3 7.9

四分位间距

四分位数将数据均匀分为4部分。四分位数间距(IQR):对应于第一和第三四分位数之间的差异-有时被用作标准偏差的可靠替代方案。

  • R功能:

quantile(x, probs = seq(0, 1, 0.25))
  • x:需要样本分位数的数值向量。

  • probs:在[0,1]之间的概率数值向量。

  • 例:

quantile(my_data$Sepal.Length)

0%  25%  50%  75% 100%

4.3  5.1  5.8  6.4  7.9

# 计算十分位数(0.1,0.2,0.3,…,0.9):quantile(my_data$Sepal.Length, seq(0, 1, 0.1))
# 计算四分位间距:IQR(my_data$Sepal.Length)

[1] 1.3

方差和标准差

方差表示与均值的平均平方差之和。标准差是方差的平方根。它测量数据中数值与平均值的平均偏差。

# 计算方差var(my_data$Sepal.Length)
# 计算标准差sd(my_data$Sepal.Length)
绝对中位数

绝对中位数(Median absolute deviation,MAD):数据中值与中值的偏差,即先计算出数据与它们的中位数之间的残差(偏差),MAD就是这些偏差的绝对值的中位数。

# 计算中位数median(my_data$Sepal.Length)
# 计算绝对中位数mad(my_data$Sepal.Length)
统计描述方式的选择
  • 范围。它不经常使用,因为它对异常值非常敏感。

  • 四分位间距。对于异常值,它非常强大。它多与中位数结合使用。

  • 方差。完全无法解释的,因为它不使用与数据相同的单位。除了用作数学工具外,很少被使用。

  • 标准偏差。方差的平方根。它以与数据相同的单位表示。在均值是集中趋势的分布(多指正态分布)的情况下,通常使用标准偏差。

  • 绝对中位数。对于具有离群值的数据,这是一种估算标准偏差的可靠方法。但是不经常使用。

  • 总而言之,四分位间距和标准差是用于报告数据变异性的两种最常用的度量。

3.3 计算变量和整个数据框的整体摘要summary()函数

函数summary()可用于显示一个变量或整个数据框的多个统计变量概况。

  • 单个变量的概况。

返回六个值:平均值,中位数,第25和,75四分位数,最小值和最大值。

summary(my_data$Sepal.Length)

输出结果如下:

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.4.300   5.100   5.800   5.843   6.400   7.900
数据框概况

在这种情况下,函数summary()将自动应用于每列。结果的格式取决于列中包含的数据类型。例如:

  • 如果列是数字变量,则返回均值,中位数,最小值,最大值和四分位数。

  • 如果该列是一个因素变量(factor),则返回每个组中的观察数。

summary(my_data, digits = 1)

输出结果如下:

Sepal.Length  Sepal.Width  Petal.Length  Petal.Width        SpeciesMin.   :4     Min.   :2    Min.   :1     Min.   :0.1   setosa    :501st Qu.:5     1st Qu.:3    1st Qu.:2     1st Qu.:0.3   versicolor:50Median :6     Median :3    Median :4     Median :1.3   virginica :50Mean   :6     Mean   :3    Mean   :4     Mean   :1.23rd Qu.:6     3rd Qu.:3    3rd Qu.:5     3rd Qu.:1.8Max.   :8     Max.   :4    Max.   :7     Max.   :2.5
3.4 缺失值的情况Tips

当数据包含缺失值时,即使仅缺少一个值,某些R函数也会返回错误或NA。

例如,即使向量中仅丢失一个值,mean()函数也将返回NA。使用参数na.rm = TRUE可以避免这种情况,该参数告诉函数在计算之前删除所有NA。使用均值函数的示例如下:

mean(my_data$Sepal.Length, na.rm = TRUE)

好了,本期讲解就先到这里。

在之后的更新中,我们会进一步为您介绍R的入门,以及常用生物统计方法和R实现。欢迎关注,投必得医学手把手带您走入R和生物统计的世界。

提前打个预告,接下来我们要正式开始学习R语言的统计学技能啦,下一期将会更新“R的描述性统计分析”。喜欢的同学们快快关注起来吧。

65a047d11be7a21743682c7e4859d09d.gif第一讲 R-基本介绍及安装第二讲 R-编程基础-运算、数据类型和向量等基本介绍第三讲 R编程基础-矩阵和数据框

当然啦,R语言的掌握是在长期训练中慢慢积累的。一个人学习太累,不妨加入“R与统计交流群”,和数百位硕博一起学习。

快扫二维码撩客服,

带你进入投必得医学交流群,

让我们共同进步!

↓↓

19af7fccb9434fc33927247039f19acc.png

- END -

长按二维码关注「投必得医学」,更多科研干货在等你!

ebb4a549ecb0fd0d5894297a696edd60.png

麻烦点一下在看再走呗

5ffeb3be29ff1afa7a654d87d4a05e88.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度腾讯中兴华为全部入局Linux Foundation深度学习基金会

2019独角兽企业重金招聘Python工程师标准>>> 虽然名字叫做Linux Foundation,但是这家基金会关注的领域并不局限在Linux操作系统领域。事实上,Linux Foundation基金会还为很多其他开源基金和项目提供支持,比如Cloud Foundry、Autom…

python读取mysql数据库_Python操作MySQL数据库9个实用实例

在Windows平台上安装mysql模块用于Python开发 用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示。下边是打包了32与64版本。 MySQL-python-1.2.3.win32-py2.7.exe MySQL-python-1.2.3.win-amd64-py2.7.exe 实例 1、取得 MYSQL 的版本 #…

win主机上搭建php网站运行环境,Windows server 2008搭建php运行环境图文详解(php5.3)

这篇文章主要为大家分享下Windows server 2008搭建php运行环境的步骤,需要的朋友可以参考下下载php组件包首先到http://windows.php.net/download/下载你需要的php版本,这里我下载的是php5.3。下面解压php组件 包到磁盘上。安装Microsoft Visual C 2008 …

plsql developer连接oracle--本地不安装oracle

工具 数据库开发程序 PLSQL Developer oracle 客户端 instantclient,点击下载 (下载与oracle相同版本或最新版本,如果 PLSQL Developer是32位,则要下载32位的)安装 1、解压oracle客户端 到盘某个目录。我的目录是C:\or…

keepalived配置高可用集群

准备工作 分别在主从上安装keepalived和nginxyum install -y keepalivedyum install -y nginx关闭主从上的防火墙和SELinuxsystemctl stop firewalldsetenforce 0 配置主机 查看主机ip [rootlynn-04 ~]# ifconfig ens33: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu…

jsp超链接到java文件,jsp页面超链接传中文终极解决办法

在做web前端页面的时候&#xff0c;经常碰到传中文问题。网上有许多方案&#xff0c;但仍不能根治&#xff0c;最终要用js或者java的encode相关方法。常规方案有三部&#xff1a;1.改tomcat的server.xml中URIEncodeing为utf-82.页面中编码设置为utf-83.整个项目编码使用utf-8我…

隐藏域input里面放当前时间_【小A问答】Win10的隐藏小秘密,被我发现了!

无惊无险又到小A问答环节辣~~今天的小A要来给大家分享一些小秘密&#xff01;当然&#xff0c;这可不是小A自己的小秘密&#xff0c;是关于你电脑的小秘密哦&#xff01;知道吗&#xff1f;Windows10每一次升级更新&#xff0c;都会伴随着新功能的增加。这些隐藏的功能你都发现…

h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法

flex垂直居中&#xff1a;第一种&#xff1a;使用flex布局&#xff0c;让居中元素的父元素为flex属性,让它在交叉轴上center就可以达到居中效果了&#xff1a;html代码: <div class"father"><p>我要垂直居中</p> </div>css代码: .father {…

c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...

事先说明&#xff1a;笔者初三&#xff0c;如在叙述中有不严谨的地方&#xff0c;还请诸位指出&#xff0c;自当感激不尽。一.什么是斜坐标系众所周知&#xff0c;我们目前平面中使用相当广的坐标系是笛卡尔发明的平面直角坐标系。然而&#xff0c;笛卡尔真的只使用了这一种坐标…

一行命令从 APK 文件中提取 Endpoint 及 URL

做IoT的人免不了要接触Android&#xff0c;接触Android的人又免不了要研究别人的App应用。 Diggy&#xff0c;一款能够从 apk 文件中提取 endpoint 及 URL 的工具&#xff0c;只要一行命令就可以帮大家提取出相关Android apk文件的安装信息和互联网访问信息。 下载地址&#xf…

antd 获取table选中行数据_element-ui 组件el-table默认选中行setCurrentRow采坑记

1.背景选中表格中某一行&#xff0c;高亮显示&#xff0c;table表格数据变化后&#xff08;删除某几条数据&#xff0c;不包括选中的删除&#xff09;&#xff0c; this.$refs.multipleTable.setCurrentRow(row),选中之前选中的行&#xff0c;可发现总是选中下一条的数据&#…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

贪吃蛇程序 php,微信小程序-贪吃蛇教程实例

很久很久以前&#xff0c;差不多大半年前吧&#xff0c;笔者发布了一篇关于OC版贪食蛇开发的文章&#xff0c;时隔多月&#xff0c;微信小程序横空出世&#xff0c;于是闲来无事的我又写了一个小程序版下面这段话请务必阅读笔者是做iOS的&#xff0c;而小程序大部分都是前端的知…

Tomcat启动时自动加载Servlet

转自&#xff1a;http://zhaoyongpan.blog.51cto.com/2714930/676239 想实现这样的功能&#xff1a; 1. Tomcat启动时随即启动Servlet; 2. Servlet启动时定时执行一个任务。 要点&#xff1a; 1、Tomcat中启动Servlet时&#xff0c;只需要在Servlet所在的工程的配置文件web…

internal java compiler error_Java异常处理总结

背景 最近专门负责团队的项目质量。我在治理异常日志过程中&#xff0c;总结了一下Java的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看&#xff0c;地图从左到右的连线连接的类之间有实实在在的父…

cuda nvcc版本不一致_windows 验证CUDA和CUDNN是否安装成功

安装完成CUDA&#xff0c;使用 nvcc -V 验证是否安装成功&#xff0c;看到如下信息说明安装成功接下来就可以安装 cuDNN 了。安装cuDNN下载 cuDNN&#xff0c;下载之前需要先注册一下 Nvidia 的账号&#xff0c;下载地址为&#xff1a;https://developer.nvidia.com/rdp/cudnn-…

Nova Cell

Nova Cell V2 详解 现在 &#xff0c;OpenStack 在控制平面上的性能瓶颈主要在 Message Queue 和 Database 。 尤其是 Message Queue , 随着计算节点的增加 &#xff0c; 性能变的越来越差 。 为了应对这种情况 &#xff0c; Nova 很早之前提出来 nova-cell ( 以下以 cellv1 代…

Android 通过WIFI状态监听广播,判断进入指定wifi范围

原文地址&#xff1a;http://blog.csdn.net/kongxiuqi/article/details/52524500 --------------------------------------------- WIFI状态变化会发送广播&#xff0c;一些可用的广播在WifiManger.java中可以看到。 广播一&#xff1a;WIFI 状态开关变化的监听&#xff0c;en…

java 截取byte数组_2020年的秋招已经开始了!最新Java面试题大全(文末附参考答案)送给大家...

包含的模块本文分为十九个模块&#xff0c;分别是&#xff1a;Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM共包含 208 道面…

MVP模式在Android项目中的使用

烦了在Activity中编写太多的代码&#xff0c;该app由我来主导。就选择用MVP模式。 概述 MVP是模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;、主持人&#xff08;Presenter&#xff09;的缩写&#xff0c;分别代表项目中3个不同的模块。 模型&#…