【图书推荐】《R语言医学数据分析实践》-CSDN博客
《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com)
R语言编程_夏天又到了的博客-CSDN博客
在R语言中,数据结构是非常关键的部分,它提供了多种内置的数据结构类型,如向量、列表、矩阵、数据框等。这些数据结构的选择取决于我们要处理的数据类型以及所需进行的操作。掌握不同类型的数据结构,可以帮助我们更有效地分析和处理数据,编写出高效、清晰的R代码。
本节将介绍R语言中常用的数据结构,包括它们的特点、用法和示例。通过学习这些数据结构,读者将能更好地利用R语言进行数据分析和建模工作。
2.1.1 向量
在R语言中,向量最基本的数据类型,也是R语言的核心,用于存储同一类型的元素。向量是R语言中最常用的数据结构之一,它的简单性和灵活性使其在数据分析和可视化过程中得到广泛应用。通过熟练使用向量,可以更加高效地处理和操作数据。
向量可以包含数值、字符、逻辑值等元素。在R语言中,可以使用c()函数创建一个向量。c()函数是R语言中常用的函数之一,也是最基本的函数之一。它的功能非常强大,可以将多个由逗号分隔的参数“链接”在一起,形成一个向量、列表或矩阵等结构,使用起来具有很高的灵活性。
R代码如下所示,通过在c()中输入不同的数据,分别生成了数值、字符和逻辑型向量:
Age <- c(21,22,23,24,25) #数值型向量,逗号隔开
Age <- c(21:25) #数值型向量,可以用21:25表示21~25的5个数
Gender <- c("man","woman") #字符型向量,数据要加双引号
Effect <- c(TRUE,FALSE,T,F) #逻辑型向量,T是TRUE的简写,F是FALSE的简写
当我们创建一个向量后,如何对向量的内容进行修改呢?这包括向量元素的提取、替换、删除和添加。首先,向量元素的提取可以使用方括号([])进行索引。如图2-1所示,想知道Age向量中第2个元素的内容,可以使用“Age[2]”进行查看;当想要替换第2个元素的内容时,可以直接以索引方式赋值,如通过“Age[2] <-26”将第2个元素替换为“26”;当想要删除第2个元素的内容时,可以使用负号方式进行删除,如“Age[-2]”;当想要在向量中添加元素时,比如想在第2个元素与第3个元素中间添加元素27,可以使用“c(Age[1:2],27,Age[3:5])”进行操作。
图2-1
如何判断一个向量类型呢?我们可以使用mode()函数或者typeof()函数查看向量类型。当向量元素同时含有数值型与字符型时,返回结果为字符型;当向量元素同时含有数值型与逻辑型时,返回结果为数值型;当向量元素同时含有数值型、逻辑型与字符型时,返回结果为字符型。总结一下,逻辑型可以转换为数值型与字符型,其中FALSE转变为0,TRUE转变为1;数值型可以转换为字符型,而字符型不可以转换为逻辑型与数值型。可以使用as.character()和as.numeric()把向量强制转换为字符型和数值型。R代码如下所示:
Age<-c(21,22,23,24,25,">70")
mode(Age) #合并数值型和字符型的向量,返回结果是字符型
Age<-c(21,22,23,24,25,TRUE,FALSE)
mode(Age) #合并数值型和逻辑型的向量,返回结果是数值型
Age<-c(21,22,23,24,25,">70",TRUE)
mode(Age) #合并数值型、字符型和逻辑型的向量,返回结果是字符型
Age<-c(21,22,23,24,25,TRUE,FALSE)
as.character(Age) #将Age强制转换为字符型
as.numeric(Age) #将Age强制转换为数值型
Age<-c("<18","18-70",">70")
mode(Age) #尝试把字符型向量Age强制转换为数值型
as.numeric(Age)
示例代码的运行结果如图2-2所示。
图2-2