生信技能树学习笔记 Day 3
2023-03-07 09:05:49 时间
函数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则数据完全一致
相关文章
- 发现 Linux SpaceFM 文件管理器的威力
- 夯实数据智能底座 共筑数字经济发展“新基石”
- 五分钟教你使用console.log发布公司的招聘信息
- 微软发布 Windows 11 Beta 预览版 Build 22621.1250 和 22623.1250 (KB5023008)
- Windows 11 学院:在 Windows 11 Build 25290 上如何为文件管理器启用标签页拖拽支持
- 微软Windows 11 Dev 预览版 Build 25290 发布:带来新的开始菜单提醒角标
- 微软正用全屏通知提醒 Windows 10 用户免费升级 Windows 11,要点击 5 次才能退出
- Linux Mint 21.2 将于 6 月发布:改进登录屏幕,优化 Pix 图像管理程序等等
- 字节面试也会问SPI机制?
- 微软正式停售 Windows 10 产品密钥 / 许可证:继续提供 ISO 镜像下载,推荐用户升级 Windows 11
- 用复古电脑程序 Toy CPU 学习低级编程
- Windows 11 新功能泄露:现代音量合成器、实验工具和新的文件管理器
- 微软 Windows 11 文件资源管理器全新设计曝光:UI 迎来大修,整合 Microsoft 365
- 对比Pandas,学习PySpark大数据处理
- 微软宣布为Windows 11 21H2设备开启自动更新到22H2版本
- 互联网都在说降本增效,小红书技术团队是怎么做的?
- 微软将继续提供 Windows 10 ISO 镜像下载,即将停售产品密钥 / 许可证
- 微软宣布为Windows 11 21H2 设备开启自动更新到 22H2 版本
- 面试突击:Properties和Yml有什么区别?
- 微软 Windows 11 Beta 预览版 22621.1245 和 22623.1245 (KB5022358) 发布