今天是生信星球陪你的第449天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
花花写于2019-09-16
最近写推文缺素材,打算写R语言的《盘点》系列,欢迎后台发消息告诉我想看盘点啥。
有很多R语言函数是向量化的,就是说可以直接对向量进行处理,而不需要你写循环!
1.字符串
字符串分割的函数,str_split()就好,默认返回列表,加上参数simplify=T,则返回矩阵。
跟字符串连接有关的有三个函数:
paste、stringr::str_c和paste0
他们一脉相承!str_c出自tidyverse套装中的stringr包,和paste基本无区别,这个包专门处理字符串用,命名都以str_开头,我是很喜欢的。
paste0就更简单了,也是从paste演变而来,只是paste默认分隔符为空格,paste0默认无分隔符,无需记忆,一试便知,我上课都有一句名言,你试试啊!
先准备包和示例数据
if(!
(1)字符串分割
" ")
(2)向量拆分
其实这是一个取子集问题!感受一下
1]
(3)两个向量连接
参数是分隔符sep,默认为空格,可以自定义。
1:
(4)字符串向量合为长字符串
就是一个向量的三个元素合并到一起!
x
#> [1] "The birch canoe slid on the smooth planks."
#> [2] "Glue the sheet to the dark blue background."
#> [3] "It's easy to tell the depth of a well."
str_c(x,collapse = "//")
#> [1] "The birch canoe slid on the smooth planks.//Glue the sheet to the dark blue background.//It's easy to tell the depth of a well."
(5)两个向量首尾相连
这个其实不应该算是个问题!直接用c()就可以,只是很多人不知道!
c(y,x)
#> [1] "1"
#> [2] "2"
#> [3] "3"
#> [4] "The birch canoe slid on the smooth planks."
#> [5] "Glue the sheet to the dark blue background."
#> [6] "It's easy to tell the depth of a well."
2.数据框
准备包和数据
if(!
(1)分割和合并列的函数
unite seprate
先按照逗号把hb列分为两列。
"b"))
再合并回来
"b"),col = hb,sep =
然后是cbind,rbind,merge
示例数据
'e',
合并一下~
#简单的按列拼一起,两数据框行数相同就可拼,rbind也是一样,两数据框列数相同可拼,否则报错
然后还想拆分回去?merge是回不去了,如果是cbind、rbind简单合并的话,可逆回去,那就是数据框取子集的问题!
1:ncol(test1)]
向大家隆重推荐隔壁生信技能树的一系列干货!
全球公益巡讲、招学徒
B站公益74小时生信工程师教学视频合辑
😻
初学生信,很荣幸带你迈出第一步。
我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到jieandze1314@gmail.com,每一条都会看到的哦~