数据结构的学习
基础知识
- R的赋值符号不是=,而是<-
- Console控制台=Linux命令行
- R的代码都是带括号,英文格式
- 显示工作路径 getwd();设置工作路径 setwd(dir="C:/Users/xxx/xxxx/xxx")
- 向量是元素组成,元素可以是数字或字符串
- 表格在R语言中叫"数据框“
- 理解命令和函数的意义,不会用可以百度/谷歌或
?read.table
看看example - 数据类型:向量(vector);矩阵(matrix);数组(array);数据框(data frame);List
一、向量
1. 标量和向量的区分
元素:数字/字符串
标量:一个元素组成的变量, 例:1/huahua
向量:多个元素组成的变量(一排有序排列的元素),例:c(1,2,3)/c("doudou","huahua","yu")
给变量赋值
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次
2. 从向量中提取元素
(1)根据元素位置
x[4]
x第4个元素
x[-4]
除了第4个元素之外剩余的元素
x[2:4]
第2到4个元素
x[-(2:4)]
除了第2-4个元素
x[c(1,5)]
第1个和第5个元素
(2)根据值
x[x==10]
等于10的元素
x[x<0]
小于0的元素?
x[x %in% c(1,2,5)]
存在于向量c(1,2,5)中的元素
二、数据框
Tips:将示例数据放在工作目录下
(1)读取本地数据
read.table(file = "huahua.txt",sep = " ",header =T)
读取文件,分隔符为Tab, 有表头
a<-read.table(file = "huahua.txt",sep =" ",header =T)
把这个数据框赋给一个变量a
或者
X<-read.csv('doudou.txt')
获得示例数据框 (我也觉得read.csv好用些)
(2)设置行名和列名
colnames(X)
查看列名
rownames(X)
查看行名
colnames(X)[1]<-"bioplante"
不太懂这个?
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)变量的保存与重新加载
save.image(file="bioinfoplanet.RData")
保存当前变量
save(frame1,file="frame1.RData") 保存其中一个变量
load("frame1.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)直接使用数据框中的变量
提取某两列做散点图:
a <-data.frame(case=paste("S",c(1:50)),values=runif(50)) plot(a$case,a$value)
其他方法:
- attach:
attach(a)
plot(case,values)
- with:
with(a,{ plot(case,values) x<<-summary(values) }) x
这个没太懂
三、一些问题
1. Data Frame
Data Frame=数据框=R中的表(由行和列组成)