4.R中的数据类型和数据结构(向量)

一、数据类型

数据类型(数据模式):表示该数据所属的类别,包括数值型( numeric,如1,2,3)、字符型( character,如今天,星期二)、逻辑性( logical,是,否/对,错)、因子型(factor将类别型的变量称为因子,如轻,中,重)、复数型(用的较少,不介绍)。

                                ——本节详细内容可参考Robert I. Kabacoff《R语言实战(第2版) 》



二、数据结构

R中用于存储数据的形式即数据结构,包括标量、向量(vector);矩阵(matrix)、数组;数据框(dataframe)和列表(list) (记住各数据类型和结构的英文,后面要用。标量和数组了解概念就行)


1 标量与向量 (vector)

向量是存储数值型、字符型或逻辑性数据的一维数组。

#标量即只有一个元素的向量 (标量了解就行)。

向量创建:c()函数 或者 :

#也可以用rep()和seq()函数创建,但是c()函数和冒号用的最多,掌握这两个,其他两个需要用时再介绍。

特点:同一个向量中的数据只能包含一种数据类型,不能混杂不同类型的数据。

举例:

a<-c(1,2,-3,-6,8) #向量中的变量叫做元素,比如这里a向量中第3个元素是-3

#注释符号不能多行注释,超出来的行在行前加注释符号,或者输入让解释器忽#(接上一行)略该行代码的命令

a #展示数值型向量a

b <- c("one","two","three")  #加双引号表示字符型

b

c<-c(TRUE,TRUE,FALSE) #逻辑向量c,逻辑元素也可简写成T/F

c

d<-c(4:8)  #冒号生成等差数列,从4到8的整数

d

e<-4:8  ##同c(4:8)

e

f <- 2:6

f

plot(e,f) #为了复习文档“3.R中的赋值和运算”中Rstudio的四个区,这里画个

#图展示,e为横坐标,f为纵坐标


如果觉得控制台内容太多,可以按快捷键“Ctrl加L”清空控制台(不会删除存储的变量名的)。   

2 向量中元素的引用 (即元素的提取)


使用中括号引用元素[]

x[i]  #x是向量名称,i表示第i个元素,合在一起就是提取x向量中第i个元素


举例:

rm(list=ls())  #清除所有变量

#因为我这里刚刚运行了几个变量(a-f),为了防止误解,我先清空一下。

#补充:rm(变量名)  可以清空某个变量。


a<-c(1,2,-3,-6,8)#创建向量a

a[3]  #提取向量a中第3个元素,返回值应该为 -3

a[c(2,4)] #分析:c(2,4)返回值为2,4;所以a[c(2,4)]即为a[2,4]

# a[2,4]即提取向量a中第2和第4个元素

#返回结果应为2  -6,看下面运行结果


3 向量的运算


数值型向量和数值型向量间可以进行数学运算(如果两个向量长度一样,即包含的元素个数一样多,返回为运算和的值;如果其中一个向量长度是另一个向量长度的整数倍,短的那个会按顺序重复全部元素,自动填充到和长的那个一样长,再进行数学运算;如果不是整数倍,会报警告,短的那个再填充到和长的一样长后再运算)



逻辑型向量和逻辑型向量间可以进行数学运算(T默认=1,F默认为0),也可以逻辑运算。

#主要介绍的是我们平时分析数据常用的两种运算,比较运算未介绍。

举例:

a<-c(3:5)  #注意这是冒号,上面讲过冒号的作用

b<-c(1,2,4)

c<-c(2,2,2,1,1,1)

d<-c(1,2)


a+b 

a*b

a+c    #c长度是a的倍数,所以a自动填充为“3,4,5,3,4,5”,再和c相加

a+d    #a长度不是d的倍数,所以会报警告,然后d填充为“1,2,1”,再和a相加



逻辑向量运算举例:


a<-c(T,F,T)

b<-c(F,T,T)

a+b  #数学运算(T默认=1,F默认为0)

a&b  #逻辑运算




4 判断数据是否为向量


is.vector()函数              #返回逻辑值


举例:


a<-matrix(c(1:12),nrow=3,ncol=4)  #创建一个3行4列的矩阵a

is.vector(a)            #判断a是向量吗?是就会返回TRUE,不是返回FALSE

is.matrix(a)#判断a是矩阵吗?


向量的转换用as.vector()函数,等学了其他数据格式后再一起介绍。

你可能感兴趣的:(4.R中的数据类型和数据结构(向量))