pre
- R包是函数的集合
- 生信分析需要用到很多生信分析R包,
- 以dplyr为例
1. 安装包
install.packages("xxxx")
2. 加载包
library("xxxx")
3. dplyr基础函数
1)新增列
mutate(表格名, new = a*b)
新的列为a列乘b列
2) 筛选
- 按列号筛选
-
select(test,1)
选择test表格中第一列 -
select(test,c(1,2))
选择test表格中第一列和第二列 -
select(test, 列名)
选择test中列 - 也可以先将其中两列提取之后,进行赋值,并提取赋值
- For instance:
select(test, a, b)
ar <- c(a, b)
select(test, one_of(ar))
- 其余
-
或者是:
,test[]
语法都与之前选择数据类似
3) filter筛选行
-
filter(test, 行名 == "requirements")
在test中选择行名为requirements -
filter(test, 行名 == "requirements&行名2 > x")
在test中选择行名为requirements且在行名2中大于2的数据 -
filter(test, 行名 %in% c("requirement 1","requirement 2"))
在行名中选择符合两个函数要求的数据 r1&r2
4)arrange表格排序
-
arrange(test,行名)
根据该行的从小到大顺序进行排序。从小到大为默认顺序 -
arrange(test,desc(行名))
根据该行的从大到小顺序进行排序
5)summarize() 汇总,能够计算各种数据参数`
-
summarise(test, mean(Sepal.Length), sd(Sepal.Length))
能够计算test中sepal length的平均值,和sepal length的标准差 -
group_by(test,species)
用species相同来进行分类整理 - summarize套group能够在每一行中的不同processed data再进行整理
-
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
在group之后相同species内部的sepal length的平均值 以及standard diviasion
4. dplyr常用小技巧
- 展现刚才进行的summarize或者是group,可以使用
%>%
- 计算在每一个特定变量下的值 比如说 species中每一种species的个数
count(test,Species)
5. 处理关系数据
- 将两个表格进行链接时,一定不要引入factor
options(stringsAsFactors = F)
-
inner_join(test1, test2, by = "x")
在两个数据框中取出x列之中变量的交集,比如说 test1与test2之中都有bef在x列之中,就只保留这三行 -
left_join(test1, test2, by = 'x')
左连,将独特的一行补全在整体表格之中,以test1为准,在test2中选择有test1x值的独特变量
left_join(test1, test2, by = 'x')
x z y
1 b A 2
2 e B 5
3 f C 6
4 x D NA
left_join(test2, test1, by = 'x')
x y z
1 a 1
2 b 2 A
3 c 3
4 d 4
5 e 5 B
6 f 6 C
-
full_join(x= test, y = test2, by = "x")
全连,X1并集X2,并只显示存在test1另外一个值得test2特殊值 -
semi_join(x = test1, y = test2, by = "x")
只去X1X2的交集行,并值展示test1中的行。与内接的区别:内接会将test2中独特的列并入,但是semi_join 不存在 - `anti_join(x = test2, y = test1, by = "x") 将test1中的所有与test2中x值的行从test2中保留,并不从test2中新增列。
- 简单合并,要求在合并行与列时,行与列数必须相同
-
bind_rows(test1, test2)
将行在下方新增 -
bind_cols(test1, test3)
将列在右方新增