数据结构
-向量、矩阵、数组、数据框(即表格)、列表
- 主要学习向量和数据框
向量
-向量是由元素组成的,元素可以是数字或者字符串
-标量:一个元素组成的变量
-向量:多个元素组成的变量(一个向量是一排有序排列的元素)
- 向量的赋值
-
x<-c(a,b,c)
将x定义为由元素a,b,c组成的向量 -
x<- 1:n
从1-n之间所有的整数 -
x<- seq(m,n,by = 1)
m-n之间每隔1取一个数 -
x<- rep(1:n,times=2)
向量由1-n所有元素组成,并重复2次
- 向量中元素的提取
根据位置
1. x[a]:向量x中第a个元素
2. x[-a]:提取x中除第a个元素之外剩余的元素
3. x[a:b]:提取向量中从a到b个元素
4. x[-(a:b)]:提取向量x中除了第a-b个元素外剩余的元素
5. x[c(a,b)]:提取向量中第a和b个元素
根据值
1. x[x==n]:提取向量x中值等于n的元素
2. x[x<n]:提取向量x中小于n的元素
3. x[x %in% c(a,b)]:提取向量x中存在于向量c中的元素
变量x与变量X不是一个玩意!!
数据框
-
读取本地数据
a<-read.table(file="XXX.txt",sep="\t",header=T)
设置行名和列名
colnames(a)
:查看列
rownames(a)
:查看行
colnames(a)[1]<-"head"
:将a的列名改成head
a<-read.csv(file = "lizhefu.txt",sep = " ",header =T,row.names=1)
row.names的意思是修改第一列为行名
- 数据框的导出
write.table(a,file = "fufu.txt",sep = ",",quote=F)
将数据a导出为fufu.txt的新文件,以逗号分隔(sep),字符串数据不带双引号(quote)
- 变量的保存与重新加载
保存的格式是RData
save.image(file="wait1.RData")
:保存当前所有变量
save(a,file="one.RData")
:保存其中一个变量
load("XXX.RData")
:再次使用时加载
- 提取元素
x[行,列]:第?行第?列
x[行,]:第?行
x[,列]:第?列
x[列]:第?列
x[a:b]:第a列到第b列
x[c(a,b)]:第a列到b列
x$列名:提取列
小作业
save(X,file="test.RData") 这句代码如果报错object X not found
报错显示没有找到X这个变量,原因可能是不存在X这个变量,或是X没有被赋值,有很大原因可能是因为和小写x弄混了,解决方法是重新定义X变量,给X赋值,然后再保存即可。或将数据重新定义到一个新的变量也可以解决问题。