文章目录
1. 数据类型与数据结构
**大部分代码及图片引用自生信技能树
1. 数据类型
数值型 numeric
字符型 character
逻辑型 logical
逻辑型分3种
TRUE / T
FALSE / F
NA
2. 数据结构
1. 向量
向量可以有名字
scores = c(100,59,73,95,45)
names(scores) = c("jimmy","nicker","Damon","Sophie","tony")
scores
scores["jimmy"]
scores[c("jimmy","nicker")]
names(scores)[scores>60]
2. 矩阵
- 矩阵新建
m <- matrix(1:9, nrow = 3)
colnames(m) <- c("a","b","c") #加列名
- 矩阵取子集
m[2,3]
m[2:3,1:2]
- 矩阵的转置和转换
t() #转置
as.data.frame() #转换
- 矩阵画热图
3. 数据框
-
数据框来源
1)用代码新建
2)由已有数据转换或处理得到
3)读取表格文件注意:数据框不允许重复的行名
4)R语言内置数据
-
新建和读取数据框
1)data.frame() 函数
df1 <- data.frame(gene = paste0("gene",1:4),
change = rep(c("up","down"),each = 2),
score = c(5,3,-2,-4))
df1
2)read.csv() 函数
-
数据框属性
1)行、列数
dim(df1)
nrow(df1)
ncol(df1)
2)行、列名
rownames(df1)
colnames(df1)
- 数据框取子集
1)按列(取向量)
df1$gene
2)按坐标
df1[2,2]
df1[c(1,3),1:2]
3)按名字
## 按名字
df1[,"gene"]
df1[,c('gene','change')]
4)按条件(逻辑值)
df1[df1$score>0,]
df1$gene[df1$score>0,] #y[x>0],x、y有对应关系
取数据框的最后一列
df1[,ncol(df1)]
取数据框除了最后一列以外的其他列
df1[,-ncol(df1)]
-
数据框修改
1)改一个格
df1[3,3