生信星球培训第二十七期

生信零基础 Day6 by Sure栗子

2019-11-02  本文已影响0人  Sure栗子

继续R学习-R包的简单应用

以下资源均来自“生信星球公众号”

R包及其小抄

https://rstudio.com/resources/cheatsheets/

今日学习数据框整理包-tidyr

> library(tidyr)
> install.packages("tidyr")
正在安装tidyr包.png
install.packages("installr")
library(installr)
updateR()
更行R.png
正在更新R程序.png
更新成功.png
a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))

其中

  1. rep,重复,括号中填要重复的字符和重复次数。
  2. paste,连接两个字符串,括号要填两个代连接字符并指定分隔符
  3. sep,没有分隔符就填sep=“”
  4. 1:3表示从1到三。如需一列中需要填入三个无规律的数字,可以用向量c(1,3,4)
  5. 同样如果填的是字符串也需要加双引号,例如c("doudou","huahua","xiaoyu")
    建出来是这样的
    建出来的数据框.png
gather(table4a, `1999`, `2000`,key = "year", value = "cases") 
spread(table2, type, count)
小抄上的gather.png

自己操作的情况,需要注意生成的数据框是什么样子就原封不动的输入什么样子,这里的1999变成了“X1999”要注意

gather应用.png
  1. 处理丢失数据
drop_na(x, x2) 
fill(x, x2) 
replace_na(x, list(x2 = 2))
丢失数据小抄.png

自己操作的情况


删除、填充、替换数据.png

********生信小花吐血推荐的命令:***********
X<-read.csv('doudou.txt')
这个命令支持R及Excel,默认参数好,转换txt不会乱码,强烈推荐。我现在就是有点不明觉厉😝

“可能别人不会这么教,但我在这里之所以选择了csv,是因为这个神奇的支持R和Excel,默认参数好的很(默认分隔符是“,”,导出时也不会默认加引号。如果你用read.table试试就知道默认参数多笨了),并且转换txt也不会变乱码!(我自己发现的,想夸我千万别忍着)”
在这里补充下csv的导入和导出方式。(默认参数好,学R没烦恼)——生信小花

导入:X<-read.csv('doudou.csv')
导出:write.csv(X,'doudou.csv')
  1. 拓展数据
    complete(X,nesting(X1),fill = list(X2="happy"))
    拓展数据小抄.png
    这里,nesting后面括号里就是不变的列,可以多写几个;fill=list后面就是要填充的那一列
    我的应用情况:
    补全数据框.png

4.分割单元格

separate(table3, rate, into = c("cases", "pop"))
separate_rows(table3, rate)
分割单元格小抄.png

自己的操作情况:


分割.png

5.合并单元格

unite(table5, century, year, col = "year", sep = "")
合并单元格小抄.png

我自己的情况:


合并单元格.png
上一篇下一篇

猜你喜欢

热点阅读