生信星球学习小组第29期 Day5

数据结构的学习

基础知识

  • 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中的表(由行和列组成)

2. with&without 不太懂

你可能感兴趣的:(生信星球学习小组第29期 Day5)