注意事项
- R的代码都是带括号的,括号必须是英文的
- 向量是由元素组成的,元素可以是数字或者字符串
- 表格在R语言中改名叫数据框
- 函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:
?read.table,调出对应的帮助文档,翻到example部分研究一下
PART1 向量
1. 标量和向量的区分
- 标量:一个元素组成的变量
-标量可以是一个数字或者字符串(使用时必须加引号“花花”) - 向量:多个元素组成的变量(一个向量是一排有序排列的元素)
- 举例
x<- c(1,2,3)
x<- 1:10
x<- seq(1,10,by = 0.5)
x<- rep(1:3,times=2)
2. 从向量中提取元素
- 根据元素的位置
x[4] #x第4个元素
x[-4] #排除法,除了第4个元素之外剩余的元素
x[2:4] #第2到4个元素
x[-(2:4) ]#除了第2-4个元素
x[c(1,5)] #第1个和第5个元素
- 根据值
x[x==10]#等于10的元素
x[x<0]
x[x %in% c( 1,2,5)] #存在于向量c(1,2,5)中的元素
PART2 数据框
1. 读取示例数据
X<-read.csv('doudou.txt')
View(X)
read.table(file = "huahua.txt",sep = "\t",header =T)
a<- read.table(file = "huahua.txt",sep = "\t",header =T)
2. 设置行名和列名
- X<-read.csv('doudou.txt')
- colnames(X) 查看列名
- rownames(X) #查看行名
- colnames(X)[1]<-"bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
- X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1) #最后row.names的意思是修改第一列为行名
3. 数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F) #分隔符改为逗号,字符串不加双引号(默认格式带由双引号)
4. 变量的保存与重新加载
- 保存的格式是RData
- save.image(file="bioinfoplanet.RData") #保存当前所有变量
- save(X,file="test.RData")#保存其中一个变量
- load("test.RData") #再次使用RData时的加载命令
5. 提取元素
- X[x,y]#第x行第y列
- X[x,]#第x行
- X[,y]#第y列
- X[y] #也是第y列
- X[a:b]#第a列到第b列
- X[c(a,b)]#第a列和第b列
X$列名 #提取列( 只能提取一列)
6. 直接使用数据框中的变量
- 提取某两列作散点图
- options(stringsAsFactors = T)
- a <-data.frame (case=paste0("S",1:9), values=runif(9))
- plot(avalues)
- 避免数据框名a重复出现的方法
-
数据框名添加到搜索环境中:attach(a)。做完后将a删除出搜索环境 detach(a)。但是两个以上数据框的列名有冲突时,同时attach会报错
-
with
作业
save(X,file="test.RData")这句代码如果报错object X not found是为什么,应该怎么解决?
答:可能是X的大小写问题,或者未赋值变量X