内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文5241字)。
3章4节:R的逻辑运算和矩阵运算_逻辑判断矩阵在r语言中的应用-CSDN博客
逻辑运算和矩阵运算是R语言中两个重要的功能模块,前者用于逻辑判断和条件筛选,后者用于处理多维数据结构和执行线性代数运算。本文章详细介绍R语言中的逻辑运算和矩阵运算,帮助读者掌握这两类运算的基本概念、操作方法和实际应用。
一、逻辑运算
逻辑运算在编程语言中扮演着至关重要的角色,主要用于控制程序的执行流程。R语言中的逻辑运算主要是用于判断条件是否满足,从而执行相应的代码块。逻辑运算通常返回布尔值(TRUE或FALSE),并在条件筛选和数据清洗等过程中发挥重要作用。以下将详细介绍关系逻辑、与或逻辑以及判断逻辑。
R语言提供了一系列逻辑运算符,用于实现不同的逻辑判断。
1. 关系逻辑
2. 与或逻辑
3. 判断逻辑
R提供了一些函数用于判断逻辑表达式的结果。下面将详细介绍isTRUE()、identical()、xor()、any()、all()和which()等函数的功能、用法及其实际应用案例。
isTRUE() 函数
isTRUE()
函数用于检查一个表达式的计算结果是否为TRUE
。它接受一个参数,如果该参数的计算结果为TRUE
,则返回TRUE
,否则返回FALSE
。
isTRUE(10 > 5)
# 结果:[1] TRUE
isTRUE(10 < 5)
# 结果:[1] FALSE
在上述示例中,10 > 5
的计算结果为TRUE
,因此isTRUE(10 > 5)
返回TRUE
;而10 < 5
的计算结果为FALSE
,因此isTRUE(10 < 5)
返回FALSE
。
identical() 函数
identical()
函数用于比较两个对象是否完全相同。它接受两个参数,如果两个参数完全一致则返回TRUE
,否则返回FALSE
。
identical(10 > 5, 5 > 10)
# 结果:[1] FALSE
identical(10 > 5, 10 > 5)
# 结果:[1] TRUE
在上述示例中,10 > 5
和5 > 10
的计算结果不同,因此identical(10 > 5, 5 > 10)
返回FALSE
;而10 > 5
和10 > 5
的计算结果相同,因此identical(10 > 5, 10 > 5)
返回TRUE
。
xor() 函数
xor()
函数用于计算两个逻辑值的异或操作。当一个参数为TRUE
,另一个参数为FALSE
时,结果返回TRUE
,否则返回FALSE
。
xor(10 > 5, 5 > 10)
# 结果:[1] TRUE
xor(10 > 5, 10 > 5)
# 结果:[1] FALSE
在上述示例中,10 > 5
为TRUE
,5 > 10
为FALSE
,因此xor(10 > 5, 5 > 10)
返回TRUE
;而10 > 5
和10 > 5
均为TRUE
,因此xor(10 > 5, 10 > 5)
返回FALSE
。
any() 函数
any()
函数用于检查逻辑向量中是否存在至少一个元素为TRUE
。如果逻辑向量中的一个或多个元素为TRUE
,则返回TRUE
,否则返回FALSE
。
any(10 > 5, 5 < 3, 3 > 2)
# 结果:[1] TRUE
any(5 < 3, 3 < 2)
# 结果:[1] FALSE
在上述示例中,逻辑向量10 > 5, 5 < 3, 3 > 2
中存在两个TRUE
值,因此any(10 > 5, 5 < 3, 3 > 2)
返回TRUE
;而逻辑向量5 < 3, 3 < 2
中没有TRUE
值,因此any(5 < 3, 3 < 2)
返回FALSE
。
all() 函数
all()
函数用于检查逻辑向量中的所有元素是否均为TRUE
。如果逻辑向量中的每个元素均为TRUE
,则返回TRUE
,否则返回FALSE
。
all(10 > 5, 5 < 3, 3 > 2)
# 结果:[1] FALSE
all(10 > 5, 3 > 2)
# 结果:[1] TRUE
在上述示例中,逻辑向量10 > 5, 5 < 3, 3 > 2
中并非所有元素均为TRUE
,因此all(10 > 5, 5 < 3, 3 > 2)
返回FALSE
;而逻辑向量10 > 5, 3 > 2
中所有元素均为TRUE
,因此all(10 > 5, 3 > 2)
返回TRUE
。
which() 函数
which()
函数用于返回逻辑向量中结果为TRUE
的元素的索引。
x = c(9, 3, 5, 8, 10)
which(x > 5)
# 结果:[1] 1 4 5
在上述示例中,逻辑向量x > 5
的结果为TRUE
的元素分别位于索引1、4和5,因此which(x > 5)
返回1 4 5
。
~~~~~~~~~~
你是否想系统地学习R语言知识?无论你是医药行业的本科生、研究生,还是正在从事医药类数据科学、机器学习或人工智能的专业人士,我们的专栏将为你提供最前沿的知识和实践技巧。通过订阅,你可以获取丰富的R语言教程、医药数据分析实战案例,以及在医学领域中的机器学习和人工智能应用。欢迎加入我们,一起提升科研技能,走在学术和行业的前沿!
- 《用 R 探索医药数据科学》专栏会持续更新!
- 每篇文章篇幅长达 5000 字以上,专栏已更新超过 100 篇文章,超50万字。
- 内容将会涵盖试验统计、预测模型、科研绘图、数据库、机器学习等热点领域。
- 随着章节的逐步完成,折扣力度会逐渐降低。所以,当下正是订阅此专栏的最佳时机!
https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482
第一章:认识数据科学和R
1章1节:数据科学的发展历程,何 R 备受青睐及我们专栏的独特之处(更新20240822)-CSDN博客
1章2节:关于人工智能、机器学习、统计学连和机器学习、R 与 ChatGPT 的探究 (更新20240814)-CSDN博客
1章3节:R 语言的产生与发展轨迹(更新2024/08/14)-CSDN博客
1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演示(更新20240814)-CSDN博客
第二章:R的安装和数据读取
2章1节:R和RStudio的下载和安装(Windows 和 Mac)_rst语言选择哪个镜像-CSDN博客
2章2节:RStudio 四大区应用全解,兼谈 R 的代码规范与相关文件展示_rstudio的console和terminal-CSDN博客
2章3节:RStudio的高效使用技巧,自定义RStudio环境(更新20240823)_rstudio如何使用-CSDN博客
2章4节:用RStudio做项目管理,静态图和动态图的演示,感受ggplot2的魅力-CSDN博客
2章5节:认识和安装R的扩展包,什么是模糊搜索安装,工作目录和空间的区别与设置(更新20240807 )-CSDN博客
2章6节:R的数据集读取和利用,如何高效地直接复制黏贴数据到R(更新20240807 )_r语言 复制数据集-CSDN博客
2章7节:读写RDS,CSV,TXT,Excel,SPSS、SAS、Stata、Minitab等的数据文件(更新20240807)_r语言读取rds文件-CSDN博客
2章8节:一文学会 R Markdown 的文档核心操作,切记文末有R资源的分享_r markdown文件(.rmd)-CSDN博客
2章9节:认识R与数据库连接和网络爬虫,学会在R中使用SQL语言_sql和r语言-CSDN博客
2章10节:用 R 直接下载并分析 NHANES 数据库的数据,文末示例自创便捷下载函数(更新20240807)_nhanes数据分析-CSDN博客
第三章:认识数据
3章1节:数据的基本概念以及 R 中的数据结构、向量与矩阵的创建及运算-CSDN博客
3章2节:继续讲R的数据结构,数组、数据框和列表-CSDN博客
3章3节:R的赋值操作与算术运算_r里面的赋值-CSDN博客
第四章:数据的预处理
4章1节:全面了解 R 中的数据预处理,通过 R 基本函数实施数据查阅_r数据预处理-CSDN博客
4章2节:从排序到分组和筛选,通过 R 的 dplyr 扩展包来操作-CSDN博客
4章3节:处理医学类原始数据的重要技巧,R语言中的宽长数据转换,tidyr包的使用指南-CSDN博客
4章4节:临床数据科学中如何用R来进行缺失值的处理_临床生存分析缺失值r语言-CSDN博客
4章5节:数据科学中的缺失值的处理,删除和填补的选择,K最近邻填补法-CSDN博客
4章6节:R的多重填补法中随机回归填补法的应用,MICE包的实际应用和统计与可视化评估-CSDN博客
4章7节:用R做数据重塑,数据去重和数据的匹配-CSDN博客
4章8节:用R做数据重塑,行列命名和数据类型转换-CSDN博客
4章9节:用R做数据重塑,增加变量和赋值修改,和mutate()函数的复杂用法_r语言如何在数据集中添加变量-CSDN博客
4章10节:用R做数据重塑,变体函数应用详解和可视化的数据预处理介绍-CSDN博客
4章11节:用R做数据重塑,数据的特征缩放和特征可视化-CSDN博客
4章12节:R语言中字符串的处理,正则表达式的基础要点和特殊字符-CSDN博客
4章13节:R语言中Stringr扩展包进行字符串的查阅、大小转换和排序-CSDN博客
4章14节:R语言中字符串的处理,提取替换,分割连接和填充插值_r语言替换字符串-CSDN博客
4章15节:字符串处理,提取匹配的相关操作扩展,和Stringr包不同函数的重点介绍和举例-CSDN博客
4章16节:R 语言中日期时间数据的关键处理要点_r语言 时刻数据-CSDN博客
第五章:定量数据的统计描述
5章1节:用R语言进行定量数据的统计描述,文末有众数的自定义函数-CSDN博客
5章2节:离散趋势的描述,文末1个简单函数同时搞定20个结果-CSDN博客
5章3节:在R语言中,从实际应用的角度认识假设检验-CSDN博客
5章4节:从R语言的角度认识正态分布与正态性检验-CSDN博客
5章5节:认识方差和方差齐性检验(三种方法全覆盖)-CSDN博客
5章9节:组间差异的非参数检验,Wilcoxon秩和检验和Kruskal-Wallis检验-CSDN博客
第六章:定性数据的统计描述
6章1节:定性数据的统计描述之列联表,文末有优势比计算介绍-CSDN博客
6章2节:认识birthwt数据集,EpiDisplay和Gmodels扩展包的应用-CSDN博客
6章3节:独立性检验,卡方检验,费希尔精确概率检验和Cochran-Mantel-Haenszel检验-CSDN博客
6章4节:相关关系和连续型变量的Pearson相关分析-CSDN博客
6章5节:分类型变量的Spearman相关分析,偏相关分析和相关图分析-CSDN博客
6章6节:相关图的GGally扩展包,和制表的Tableone扩展包-CSDN博客
第七章:R的传统绘图
7章1节:认识R的传统绘图系统,深度解析plot()函数和par()函数的使用-CSDN博客
7章2节:R基础绘图之散点图、直方图和概率密度图-CSDN博客
7章5节:散点矩阵图,与小提琴图、Cleveland 点图、马赛克图和等高图-CSDN博客
7章6节:用R进行图形的保存与导出,详细的高级图形输出,一文囊括大多数保存的各种问题,和如何批量保存不同情况的图形-CSDN博客
第八章:R的进阶绘图
8章1节:认识 ggplot2 扩展包,深度解析 qplot() 函数的使用-CSDN博客
8章2节:深度讲解 ggplot2 的绘图步骤,理解其核心逻辑, 和 ggplot()函数-CSDN博客
8章3节:用R来绘制医学地理图,文末有具体完整代码-CSDN博客
8章4节:维恩图的认识与应用,和使用UpSet图-CSDN博客
8章8节:绘制自定义的高质量动态图和交互式动态图-CSDN博客
第九章:临床试验的统计
9章4节:两组例数相同的均数比较的样本量估计和绘制功效曲线-CSDN博客
9章5节:两组的例数不等的均数比较的样本量估计和可视化-CSDN博客
9章6节:自身配对设计的均数比较临床试验的样本量估计和可视化-CSDN博客
9章8节: 两、三组试验组率比较的样本量估算和可视化-CSDN博客
9章9节:试验的随机分组认识,用R做简单随机化-CSDN博客
9章11节:用R实现区组随机化和置换区组随机化-CSDN博客
9章12节:动态随机化方法介绍,和用R绘制随机化卡片-CSDN博客
第十章:Meta分析攻略
10章1节:认识循证医学中的Meta分析,并予代码演示分析绘图-CSDN博客
10章2节:Meta分析的7大步骤的扼要解读-CSDN博客
10章3节:二分类变量的Meta分析模型,分析公式构建和结果解读-CSDN博客
10章4节:二分类变量的Meta分析模型,绘制漏斗图和应用剪补法,最后绘制和解读轮廓增强漏斗图-CSDN博客
10章5节:二分类变量的Meta分析模型,敏感性分析和亚组分析,绘制森林图-CSDN博客
10章6节:连续型变量的Meta分析和可视化分析全解-CSDN博客
第十一章:主成分分析
11章2节:深度讲解用R进行主成分分析(中)-CSDN博客
11章3节:深度讲解用R进行主成分分析(下)-CSDN博客
第十二章:常见类型回归分析
12章4节:深度解读构建回归模型表达式的九个关键符号-CSDN博客
12章7节:构建因变量为分类变量的二分类Logistic回归模型-CSDN博客
12章8节:详解不同逻辑回归模型的比较,和如何进行变量优化-CSDN博客
12章9节:深度讲解有序多分类Logistic回归模型的分析-CSDN博客
12章10节:条件Logistic回归模型的分析-CSDN博客
第十三章:生存分析模型
13章4节:认识比例风险模型和Cox比例风险模型,学会从协变量的调整选择最优模型-CSDN博客
13章5节:用逐步回归方法来选择模型协变量,比例风险假定的检验和森林图的绘制-CSDN博客
第十四章:匹配技术应用
14章2节:匹配结果的可视化和匹配后新数据分析-CSDN博客
第十五章:判别和聚类