一、数据类型
数据类型(数据模式):表示该数据所属的类别,包括数值型( 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()函数,等学了其他数据格式后再一起介绍。