作者:丁点helper
来源:丁点帮你
前面的文章提到,R语言是一门针对『对象』的语言,这里说的对象,最主要的就是数据。R可以创建、读取、处理多种类型的数据。今天先讲一些基本概念。
R语言中的数据类型
稍微接触过统计的同学应该很熟悉下图所示的变量类型,R中的多种数据类型可以满足各类变量的表达,我们逐一讲解:
1.数值型(numeric):数据的内容为数字。上图中,定量变量和定性变量都可以用数值表示。下面的例子中,x,y,z,w均为数值型数据。
x-.3#设x为身高,x为定量变量(连续型)y-5#设y为家庭人口数,y为定量变量(离散型)z-6#设z为教育程度,6表示本科及以上,z为定性变量(有序)w-1#设w为性别,1表示女性,w为定性变量(无序)
2.字符型(character):数据的内容为字符。字符型数据可用来表示定性变量,但不能表示定量变量。只要将内容放入英文双引号中,该数据即会被R识别为字符型。下面例子中的z,w均为字符型数据。
z-本科及以上#设z为教育程度,z为定性变量(有序)w-女#设w为性别,w为定性变量(无序)
3.逻辑型(logical):仅有两个取值,TRUE和FALSE,注意必须是大写。
4.因子型(factor):因子是针对定性变量而言的,刚刚讲到定性变量既可以用数值、也可以用字符表示,在此基础上做一个简单的处理就会成为因子型数据。这个处理不会对数据的内容造成任何改变,但会有助于后续的统计分析工作,之后会详细讲。
科学研究中,x,y,z,w这几个变量一般不可能都只有一个数据,而且不同变量之间还需要互相组合来完成统计分析。接下来我们就来看看多个数据、多个变量是怎么组合的。
R语言中的数据结构在刚开始接触统计的时候,我们会经常强调一对概念——总体和样本。但是,这个问题在做回归时可能会被忽略。
初学者们通常会被向量、数组之类的名词搞得一头雾水,其实这些都是表达数据结构的名词,本质就是数据的组合形式。下图展示了R中5种数据结构。
将每一个小的正方体看做一个数据,那么:
(a)向量(vector)就是一连串数据的组合,可以看做是一行或一列数据,其中的数据类型可以是数值型、字符型、逻辑型或因子型。注意,单个向量中的数据必须拥有相同的类型。
比如上图(a)中的三个小方块可以是1,20,这三个数字,也可以是小学,初中,大学这三个字符,或是TRUE,FALSE,FALSE这样的逻辑型数据。
(b)矩阵(matrix)是具有一定行数和列数的数据集合。其数据类型可以是数值型、字符型、逻辑型或因子型。矩阵中所有数据的类型必须相同。
(c)数组(array)是矩阵的推广,即在矩阵拥有的两个维度(行、列)的基础上增加了第三个维度。其中的数据也只能拥有一种类型。该类数据结构在一般的统计分析中不常用。
(d)数据框(dataframe)的结构类似于矩阵,但它可包含多种数据类型(数值型、字符型、逻辑型或因子型),是最常用的数据结构。通常,数据框中的行表示观察对象(也叫观测/observation),列表示变量(variable)。
(e)列表(list)像一个大抽屉,可以将若干(可能无关的)数据信息整合到单个数据结构中。这里的数据信息可以是包括列表在内的五种数据结构中的任意一种或几种。在R中,由于许多函数的运行结果都是以列表的形式返回的,因此该类数据结构也是学习的重点。