平安经不能保平安,但是能教你学点编程
今天是生信星球陪你的第693天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
大家最近吃到平安经的瓜了吗?某地高官写的十几万字废话经,部分图片如下:
朋友圈大批吃瓜群众声称要写开心经,幸福经,来来来,我教你省点劲~ 开玩笑啦,我们来以这篇废话经为例讲几个字符串技巧啊
凡是重复超过三次的东西,绝对不手动!!!
估计这位大佬复制粘贴了好久??他应该学学R语言,可是他不。但你可以呀😄,来吗?
数据挖掘学习班第5期(线上直播3周,马拉松式陪伴,带你入门)
生信爆款入门-第7期(线上直播4周,马拉松式陪伴,带你入门)
step1 找到主体
万物皆可平安(手动狗头),就来个机场吧
ap = "北京首都国际机场、上海浦东国际机场、广州白云国际机场、成都双流国际机场、深圳宝安国际机场、昆明长水国际机场、上海虹桥国际机场、西安咸阳国际机场、重庆江北国际机场、杭州萧山国际机场"
ap
## [1] "北京首都国际机场、上海浦东国际机场、广州白云国际机场、成都双流国际机场、深圳宝安国际机场、昆明长水国际机场、上海虹桥国际机场、西安咸阳国际机场、重庆江北国际机场、杭州萧山国际机场"
step2 当作一个字符串来玩
拆分,加“平安”两字,再组合
拆分字符串的函数:str_split
连接字符串的函数:str_c
或者paste
library(stringr)
ap2 = str_split(ap,"、")[[1]];ap2
## [1] "北京首都国际机场" "上海浦东国际机场"
## [3] "广州白云国际机场" "成都双流国际机场"
## [5] "深圳宝安国际机场" "昆明长水国际机场"
## [7] "上海虹桥国际机场" "西安咸阳国际机场"
## [9] "重庆江北国际机场" "杭州萧山国际机场"
ap3 = str_c(ap2,"平安",sep = "");ap3
## [1] "北京首都国际机场平安"
## [2] "上海浦东国际机场平安"
## [3] "广州白云国际机场平安"
## [4] "成都双流国际机场平安"
## [5] "深圳宝安国际机场平安"
## [6] "昆明长水国际机场平安"
## [7] "上海虹桥国际机场平安"
## [8] "西安咸阳国际机场平安"
## [9] "重庆江北国际机场平安"
## [10] "杭州萧山国际机场平安"
ap4 = str_c(ap3,collapse = ",");ap4
## [1] "北京首都国际机场平安,上海浦东国际机场平安,广州白云国际机场平安,成都双流国际机场平安,深圳宝安国际机场平安,昆明长水国际机场平安,上海虹桥国际机场平安,西安咸阳国际机场平安,重庆江北国际机场平安,杭州萧山国际机场平安"
sep
和 collapse
这两个参数比较容易混淆,sep是分隔符,给每个机场后面都加上平安,写sep = ""
意为不要分隔符(等于直接用paste0);collapse
可以理解成标点,就是把每个单句连接到一起,标点用collapse
参数指定~
一句代码搞定也行
就是太太太难读啦!
paste(paste0(str_split(ap,"、")[[1]],"平安"),collapse = ",")
## [1] "北京首都国际机场平安,上海浦东国际机场平安,广州白云国际机场平安,成都双流国际机场平安,深圳宝安国际机场平安,昆明长水国际机场平安,上海虹桥国际机场平安,西安咸阳国际机场平安,重庆江北国际机场平安,杭州萧山国际机场平安"
想换主体随便换,想换“开心”,“幸福”也随你,去吧去吧。就上面那个年龄,来个1:100就搞定了。
题外话
我讲课时,paste和paste0这两个函数都会讲到,所以每次每次每次,100%都有学员问“这两个函数什么区别”。
我的答案是,你自己试试看。有什么区别,一不一样,行不行,这样二选一的问题,是完全可以自己探索得到答案的,这个叫扩展性学习~
遇到问题先搜一搜,试一试~刚巧上面这个问题,这两个方式都可以实现,加油(ง •_•)ง
插个小广告!
答疑公告:生信星球答疑公告-2020年全年有效
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!