生信技能树学习笔记 Day 3
2023-06-13 09:16:57 时间
函数stringr功能
str_length() #测定字符串长度
str_split() #拆分字符串
str_sub() #按照位置提取字符
str_detect() #检测是否包含某个字符
str_replace() #替换首次出现的某个字符
str_replace_all() #替换所有字符
str_remove() 删除字符
str_remove_all() 删除所有字符
玩转数据框
1. arrange() #排序
arrange(test, Sepal.Length) #从小到大
arrange(test, desc(Sepal.Length)) #从大到小 desc()
2. distinct,数据框按照某一列去重复
distinct(test,Species,.keep_all = T) #.keep_all 保留全部列
3. mutate,数据框新增一列
mutate(test, new = Sepal.Length * Sepal.Width) #没有赋值就没有发生过
test = mutate()
4. 筛选
filter() #筛选行
select() #筛选列
逻辑算法
① 管道符号快捷键
shift + control + M
② 条件代码
if(条件,一个逻辑值){条件正确执行操作}else{条件错误进行的操作}
if(条件,一个逻辑值){条件正确执行操作}else if(条件){第二个条件正确进行的操作}
用上述方法就可以同时实现多个条件
ifelse条件函数
ifelse(条件, 条件成立输出, 条件不成立输出)
tips:ifelse()+srt_detect() 分组王炸!
t1 = str_detect(samples, "tumor") # 检测样本名中是否有tumor
ifelse(t1, "tumor', "normal") #如果样本名中包含tumor则输出tumor,反之则输出normal
data[, 4] = ifelse(t1, "tumor', "normal") #在data矩阵中增加一列,内容为分组情况
ifelse()中条件不成立输出的一栏可以再增加ifelse()代码,进行多个条件判断
③ for循环 for (i in x){执行操作}
两种循环方式
(1) 元素循环
for(i in x){s= s+i}
(2)下标循环
for (i in 1:length(x)){s= s+x[[i]]}
元素循环无法保存,下标循环可以保存;注意要对for循环结果进行保存
for循环中取子集需要用两个[]
PS: 判断两个数据是否一致 identical(x1, x2),返回True则数据完全一致
相关文章
- 拓展欧几里德算法(exgcd)学习笔记
- Web负载均衡学习笔记之nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf
- 深度学习笔记三:反向传播(backpropagation)算法[通俗易懂]
- Pyhton Cookbook 学习笔记 ch9_02 元编程[通俗易懂]
- python3菜鸟教程笔记
- 算法笔记汇总精简版下载_算法与数据结构笔记
- 《CLR via C#》笔记:第3部分 基本类型(3)
- LeetCode 刷题笔记——day 1
- Numpy学习笔记二——初始化数组的10种方法
- day7 | 打开抖音互联网会发生什么 | 第三届字节跳动青训营笔记
- ES6 学习笔记(十一)迭代器和生成器函数
- 大部分程序员都记不住的注解,Idea 云笔记却能轻松记住
- 生信星球学习小组-Day2学习笔记--召唤Linux
- 生信星球学习小组-Day4学习笔记--R语言基础
- XYLibrary笔记六:XTab使用笔记
- 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 数据管理
- 微信小程序编写课程笔记
- 秘籍:设计模式PDF学习笔记!
- Redis String 类型和 Hash 类型学习笔记与总结
- HTML&CSS精选笔记_盒子模型详解编程语言
- BOM、DOM学习笔记——JavaScript详解编程语言
- Redis 学习笔记,扩展技能,提升效率。(redis笔记)
- 千峰笔记Redis深度学习(千峰redis笔记)
- PythonORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
- PHP面向对象程序设计(oop)学习笔记(四)-异常处理类Exception