R语言笔记-2
2023-06-13 09:15:25 时间
生信技能树-数据挖掘课程笔记
数据框
#数据框的新建
df = data.frame(gene = paste0("gene",1:6),change = rep(c("up","down"),each = 3))
#数据框的读取
df
df = read.csv("gene.csv")
#数据框的属性
dim(df) #查看行数和列数
nrow(df) #查看行数
ncol(df) #查看列数
rownames(df) #查看行名
colnames(df) #查看列名
输出结果:
数据框的操作
#数据框取子集
df$change #按列名取一列,返回一个向量
df[,1] #按列号取一列,返回一个向量
df[1,1] #按坐标取一格
df[1,] #按行号取一行,返回一个数据框
df[c(1,3),1:2] #按坐标范围取多格,返回一个数据框
输出结果:
#数据框的修改
df$score = c(2,3,4,5,3,2) #创建新的列即,给不存在的列赋值
df
df[3,3] = 8 #修改一个格
df$change = rep(c("up","down"),3) #修改一列
colnames(df)[1] = "genes" #修改列名
df
#数据框取子集进阶
df[df$score > 4,] #提取出score>4的行
df$gene[df$score>4] #提取出score>4的基因
df[,-ncol(df)] #提取除数据框最后一列之外的列
输出结果:
数据框之间的操作
df1 = data.frame(genes = paste0("gene",1:6),count = rep(c("2","3"),each = 3))
df2 = data.frame(GENES = paste0("gene",1:3),count = c(2,3,2))
df
df1
df2
#数据框的连接
merge(df,df1,by="genes") #指定列名相同的genes列进行合并
merge(df1,df2,by.x="genes",by.y="GENES") #指定列名不同的列进行合并
输出结果:
两个行数不同的数据框merge(),以交集的数据输出
矩阵
- 矩阵相当于二维的向量
- 同向量,矩阵只允许有一种数据类型
- 矩阵不能用$取列
- 矩阵可直接转为数据框
#矩阵的新建
m1 = matrix(1:9,nrow = 3)
m2 = matrix(1:8,ncol = 3)
m1
m2 #矩阵不足行数或列数会自动补齐
colnames(m1) <- c("a","b","c") #添加列名
m1[2,] #矩阵取一行
m1[,1] #矩阵取一列
m1[2,3] #矩阵取一格
m1[2:3,1:2] #矩阵取多格
t(m1)
as.data.frame(m1) #矩阵转为数据框
输出结果:
列表
#列表的构建
l = list(v = c(1,2,3),df = data.frame(num = c(1,2,3),score = c(2,4,6)),m = matrix(1:9,ncol = 3))
l
#列表取子集
l[[2]] #列表取子集需用[[]]
l$m
输出结果:
向量、列表中元素的名字
v = c(1,2,3,4)
names(v) = c("a","b","c","d")
names(l) = c("a","b","c")
v
l
v[["a"]] #向量利用元素名字取子集
l[["a"]] #列表利用元素名字取子集
输出结果:
变量的删除
- 删除一个变量
rm(v)
- 删除多个变量
rm(df,m,l)
- 删除所有变量
rm(list = ls())
相关文章
- ADRC学习笔记(二)
- JavaScript笔记(10) 第一阶段结束
- 《Go语言精进之路:从新手到高手的编程思想、方法和技巧1》1-3章笔记
- Fluter 学习笔记 之 Dart 语言入门
- Express学习笔记
- c语言设计计算器-Qt学习笔记:设计一个计算器(二)
- GO语言开发环境搭建笔记
- 不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了
- 【代码笔记】HTML如何在页面输出表情符号?
- GO语言开篇-Go语言急速入门(基础知识点)| 青训营笔记
- 生信星球学习小组-Day5学习笔记--R语言数据结构
- Go语言学习笔记一 Golang的安装与基础
- Go语言学习笔记2一 Golang的基础2
- Vue3学习笔记 用朴素的语言理解大名鼎鼎的响应式
- 学习小组Day4笔记-R语言基础
- 学习小组笔记Day4-秦瑶 R语言基础
- 利用ROP绕过DEP(Defeating DEP with ROP)调试笔记
- MySQL学习笔记:创建表的SQL语句(mysql创建表的sql)
- oracle学习笔记(二)
- php笔记之:php函数range()round()和list()的使用说明
- python网络编程学习笔记(六):Web客户端访问