从头学R语言——DAY 2

2024-07-20 18:32:56 浏览数 (2)

学习资源来自生信星球

向量

向量vector是一维结构,要求所有元素都是同一数据类型(字符/数值/逻辑)

1、向量赋值

代码语言:javascript复制
x<- c(1,2,3)                   #最常用
x<- 1:10                       #1 2 3 …… 10
x<- seq(1,10,by = 0.5)         #数列,1 1.5 2 2.5 …… 9.5 10
x<- rep(1:3,times=2)           #重复,1 2 3 1 2 3

2、向量元素提取

根据位置提取

代码语言:javascript复制
x[2]              #提取第2个元素   
x[-4]             #排除法
x[2:4]            #提取第2到4个元素
x[-(2:4)]         #除了第2-4个元素
x[c(1,5)]         #提取第1个和第5个元素

根据元素值提取

代码语言:javascript复制
x[x==10]             #提取等于10的元素;==才是判断是否等于,=是赋值简写
x[x<0]               #提取小于0的元素
x[x %in% c(1,2,5)]   #%in%很重要!提取存在于向量c(1,2,5)中的元素

数据框

数据框data.frame是二维结构,要求每一列为同一数据类型(而矩阵matrix同为二级结构,要求所有列都为同一数据类型)

1、读取本地表格,数据框赋值

代码语言:javascript复制
read.table(file = 'huahua.txt',header = T,sep = 't')    #文件名要加引号
read.table默认header=F,而read.csv默认header=Tread.table默认header=F,而read.csv默认header=T

探 2:参数header和sep的含义? ① header = T,即第一行为列名; ②sep为分隔符:sep = " ",即分隔符为空格;sep = ",",即分隔符为逗号;sep = "t",即分隔符为tab。 ③注意:如参数为默认值,就不需要列举重复写。

2、查看行名列名、行数列数

代码语言:javascript复制
rownames(a)           #行名,row;默认值的行名就是行号,1 2 3 4...
colnames(a)           #列名,column
dim(a)                #几行几列,dimension
nrow(a)               #行数
ncol(a)               #列数

3、提取数据框元素

代码语言:javascript复制
a$X1         #提取单列最优选,tab可自动填充
a[x,y]       #第x行第y列,提取单个元素
a[x,]        #第x行,提取整行
a[,y]        #第y列,提取整列
a[y]         #第y列☆同上
a[a:b]       #第a列到第b列
a[c(a,b)]    #第a列和第b列

4、导出数据框

代码语言:javascript复制
write.table(a,file = "yu.txt",sep = ",",quote=F)      #quote:双引号(默认为T)

5、保存变量 & 重新加载!!!☆

这次没有处理完的数据下次想接着用怎么办?--一定要学会保存和重新加载。变量的保存格式是RData;脚本的保存格式是R。

代码语言:javascript复制
save.image(file="bioinfoplanet.RData")         #保存当前所有变量
save(a,file="test.RData")                      #保存其中一个变量
load("test.RData")                             #再次使用RData时的加载命令

表白小洁老师!嘿嘿

0 人点赞