生信星球培训第二十期

学习小组Day6笔记--单众

2019-07-21  本文已影响0人  单大众

思维导图

Day6 思维导图.png

从tidyr包开始学起

准备工作:学会获取R包的小抄
链接:[https://www.rstudio.com/resources/cheatsheets/]
回复生信星球公众号包的名字也可以获取。

安装R包
(1) 设置好工作目录(包会默认安装在工作目录里)
(2) 查询是否存在需要的包:library(tidyr)
(3) 下载和安装tidyr:install.packages("tidyr"),直到控制台出现>
(4). 安装成功后加载,没有报错就是成功:library(tidyr)

新建数据框
a<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
rep:重复函数,括号内为重复字符与次数
paste:连接两个字符串,括号要填两个待连接字符并指定分隔符(sep),没有分隔符就填sep = "";拼接字符串函数:
括号内行列名不用加引号,但是其他单元格中的字符串要加双引号
数字作为行列名要加引号
行raw
列column,简化为col

1.Reshape Data

gather(a,X1999,X2000,key = "year",value = "cases") 或 gather(a,year,cases,-country) #-country的意思就是合并除country外剩下的列。

2.Handle Missing Values

处理丢失的数据。就是某些单元格有空值的情况。

三种处理方式:
(1).删除整行
(2).根据上下文(瞎)蒙一个
(3).同一列的空值填上同一个数。

X<-read.csv('doudou.txt')
在这里补充下csv的导入和导出方式。(默认参数好,学R没烦恼)
导入:X<-read.csv('doudou.csv')
导出:write.csv(X,'doudou.csv')
drop_na():有空值的,整行删除掉
括号里填数据框名,依据的列名(有空值那一列的列名)
drop_na(X,X2)
fill(),根据上一行的数值填充上(好应付的感觉)
fill(X,X2)
replace_na(),空值填进去特定的一个数值(还是在应付)
括号里填数据框名,要填的列名=要填的值
replace_na(X,list(X2=2))

3. Expand Tables

complete(把空值的位置补全)
complete(x,nesting(X1),fill=list(X2=5))
读取数据com.csv
com <- read.csv("com.csv")

生信星球.png

expand (列出每列值所有可能的组合)
pin2<-data.frame(GeneId = rep("gene5",times=3),SampleName =paste("Sample",1:3,sep=""),Expression=c(14,19,18))
expand(pin2,GeneID,SampleName,Expression)
出现了一个新表

4.split cells

把一列拆成两列,原列必须要有分隔符才行。
separate:按列分割
separate_rows:按行分割
unite:分割完了再合并回去

学习体会

这一课的学习很不顺,有些地方看不懂,要琢磨一下。
简书这个网站,晚上需要休息吗?为什么一到十一点以后就不行了呢?

上一篇下一篇

猜你喜欢

热点阅读