R数据结构
向量
元素:数字或者字符串,用chr表示
标量:一个元素组成的变量
向量:多个元素组成的变量
变量赋值
-
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]
#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]
#小于0的元素 -
x[x %in% c(1,2,5)]
#存在于向量c(1,2,5)中的元素
数据框
读取本地数据
read.table(file = "dodo.txt",sep = "\t",header =T)
或者read.csv('dodo.txt')
(dodo.txt一定要放在工作目录里)
如果是这样的报错,除了检查要读入的数据是否在工作目录下,还要检查文件名称对不对,用
dir()
#显示工作目录下的文件那我这里读入数据报错就是我的文件名错了。
设置行名和列名
-
X<-read.csv('dodo.txt')
#在示例数据里有dodo.txt (注意这里的变量X是一个数据框) -
colnames(X)
#查看列名 -
rownames(X)
#查看行名,默认值的行名就是行号,1.2.3.4... -
colnames(X)[1]<-"bioplanet"
#左上角第一格为空,R会自动补为x,用这个命令来修改 -
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
#最后row.names的意思是第一列为行名
数据框的导出
write.table(X,file = "yu.txt",sep = ",",quote=F)
#分隔符改为逗号,字符串不加双引号(将数据框X导出为yu.txt)
变量的保存与重新加载
-
save.image(file="bioinfoplanet.RData")
#保存当前所有变量 -
save(X,file="test.RData")
#保存其中一个变量 -
load("test.RData")
#再次使用RData时的加载命令
提取元素
-
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列
思维导图