vlambda博客
学习文章列表

R语言入门:函数介绍(1)——str()

R语言入门:函数介绍(1)

str()


to 鸽 or not to 鸽? that's a question


函数介绍

在经历了漫长的(大约2min)的思考期后,我决定新开这个函数介绍系列。目前的想法是做一个类似于函数字典的东西。目前关于R的基础介绍的资料有很多,相信大家也都接触过很多类似的介绍。所以我还是决定做一个类似于函数字典的东西,每期介绍一个函数。每期具体介绍一个函数,给出应用范例,同时就这个函数做一些R相关知识的内容。


函数介绍(1)

str()

str()函数,即英文中的structure,其作用为返回所要检查的数据的结构以及该数据的各个数据的类型。

下图为对一个数据框使用str()函数的结果示例。可以看到该数据结构为data.frame,有多少行多少列,每个变量的名称和变量类型以及变量的前几行值。

R语言入门:函数介绍(1)——str()

R语言的数据类型

要解释str()函数的作用,首先要弄清R语言的数据结构和数据类型。R语言的数据结构和数据类型有哪些呢?

数据类型,也就是我们常用的变量类型,分为数值型变量、字符型变量、因子型变量、虚数型变量、RAW变量,其中后两者我们很少接触。

数据结构,按照其包含的数据类型是否相同,被分为原子向量、矩阵、数组以及列表、数据框两类。原子向量、矩阵、数组内只能包含相同类型的数据,而列表、数据框内可以包含不同类型的数据。同时这五类数据结构也可以按照数据维度来划分。

对于数据类型和数据结构,我们可以使用is族函数来检测其是不是某特定类型和结构的数据,如is.matrix()、is.list()、is.character()等;同时,也可以使用as族函数将数据转化为特定的类型或结构,如as.numeric()、as.data.frame()、as.list()等。

强制转换原则

既然原子向量、矩阵、数组只能储存同类型的数据,那么当我把不同类型的数据放在同一个向量里会发生什么呢?比如,vector=c( "a", "b", 34)。在这种情况下就会发生强制转换,强制将所有元素转化为同一类型,在本例中也就是将数字34转化为字符"34"。常见数据类型的强制转化的优先级为:因子型>字符型>数值型。


那么本期内容是否对你有所帮助呢?如果有的话还请关注、转发素质二连~

绝艺