今天主要学习向量和数据框
准备
- 每次都要设置工作路径
setwd("C:/Rdata")
向量
- 赋值
RStudio右上角可以看到所有变量名称
x<-c(1,2,3) #将x定义为由元素1,2,3组成的向量
x<-(1:10) #1-10之间所有的整数
x<-seq(1,10,by = 0.5) #1-10之间每隔0.5取一个数
x<-rep(1:3,times=2) #1-3 重复2次
- 提取元素
x[4] #第4个元素
x[-4]#除了第4个元素之外剩余的元素
x[2:4]#第2到4个元素
x[-(2:4)]#除了第2到4个元素
x[c(1,5)] #第1和第5个元素
数据框
读取的数据要方在工作路径下
- 读取
read.table(file = "huahua.txt",sep = "\t",header =T) #读取文件,分隔符为Tab,有表头
a<-read.table(file = "huahua.txt",sep = "\t",header =T)#把数据框赋给变量a
- 行名列名
X<-read.csv('doudou.txt')
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号
colnames(X)[1]<-"bioplanet"#修改左上角第一格
X<-read.csv(file = "huahua.txt",sep = "\t",header =T,row.names=1)#最后row.names把第一列当成行名
- 导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
- 变量保存加载
save.image(file="Day5.RData")#保存当前所有变量
save(frame1,file="frame1.RData")#保存变量frame1
load("frame1.RData")
- 元素提取
X[x,y]#第x行第y列
X[x,]#第x行
X[,y]#第y列
X[a:b]#第a列到第b列
X[c(a,b)]#第a列和第b列
X$列名#可用tab
- 选点作图
c <-data.frame(case=paste("S",c(1:50)),values=runif(50))
attach(c)
plot(case,values)
detach(c)
with(c,{
+plot(case,values)
x<<-summary(values) # with是在c数据框范围内操作,<<是作为全局变量求和并赋值给x,出了c仍有效
})
x
要时刻注意R语言里面每一步前后运行关系,理清逻辑