初探数据结构
1. 向量(vector):由一排元素按顺序排列而成的变量,元素包括字符串(任何用双引号引起的内容)和数字(包括整数和浮点数),一个向量中的所有元素都是同一种类型数据。
1.1 几个赋值向量的简单方法
x<-c(1,2,3) #定义向量x是由1,2,3三个数字按从前到后的顺序组成的向量。
x<-c("1","2","3") #定义向量x是由"1","2","3"三个字符串按从前到后的顺序组成的向量,此时被双引号引起的数字整体已经是字符串类型的元素了。
x<-1:11 # 将从1到11所有(包括1和11)的整数赋值给x。
1.2 向量中元素的提取
x[3] #提取向量x中的第三个元素
x[-4] #提取变量x中除了第四个元素以外的所有元素
x[4:8] #提取第4到第8个元素(包括第4和第8个元素)
x[-(3:7)] #提取除了第3到第7个元素以外的所有元素
x[c(1,4,9)] #提取第1,4,9个元素
x[x==11] #提取等于11的元素
x[x>5] #提取大于5的元素
x[x %in% c(1,4,9)] #提取存在与c(1,4,9)中的元素
2. 数据框(data frame),相当于一个表格,
在R中建立一个数据框
在此工作目录下建立一个text文档,文档中是数据框中的数据,注意此文档中数据排列的方式应该与数据框中最终要显示的方式一样,未填入值的位置默认为NA。注意,光标停止位置应该为默行数据的下面,否则报错。
读取一个文本文档为数据框
read.table(file="文件路径/文件名",sep="\t",header=T,row.names=1) #读取文件并转换成数据框形式数据
read.table中的重要参数
file:文件路径/文件名,当前工作目录下的文件可以省略路径,注意一定用双引号引起
sep:分隔符,\t为制表键,\n为换行符," "为空格,默认为" "
header:询问第一行数据是否为列名。T意为是,F意为不是,默认为F
查看行名和列名
colnames() #
rowanmes() #
数据框的导出
write.table(a,file="文件名",sep=",",quote=F) #保存数据框a为文本文档,元素间的分隔符是“,”,字符串不加双引号
write.table中的重要参数
数据框名:想要导出的数据框名
quote:导出后的文件中,字符串是不是用引号引起,默认是用。
变量的保存和加载
save.image(file="文件名,Rdata") #保存整个工作镜像,即保存所有变量
save(a,file="文件名,Rdata") #保存变量a
load("文件名.Rdata") #重新加载工作镜像或者变量
注意保存工作镜像或者变量时,文件的扩展名为Rdata
元素的提取
a[x,y] # 提取数据框a中x行与y列交汇点的元素
a[x,] #提取数据框a第x行的所有元素
a[,y] #提取第y列的所有元素
a[y] #提取第y列的所有元素,只有一个数据时,默认为列名
a[n:m] #提取从第n列到第m列的元素
a[c(n,m)] #提取第n列和第m列的所有元素
a$列名 #提取列名列的所有元素
在数据框中,对列的操作优先于对行的操作(写入和读取数据),所以当提取元素的选项中只有一个数据时,默认提取该列的数据,用$也只能提取列。
options(stringsAsFactors=T)
环境设置函数,用来更改R对数据框数据的读取方式,即设定是不是把字符串形式的元素当作数据框中的数据,默认为FALSE