生信星球培训第五十四期

学习小组Day6----七七七七

2020-04-22  本文已影响0人  王琪_738c

学习R包

R包:一个丰富的东西,有函数,有教程,有举例。

一、镜像设置

编辑Rprofiles,加入两行代码,分别是两个镜像,针对不同的网站下载的包。

二、安装

install.packages(“包”)#包的名字,改成英文体
BiocManager::install(“包”)

三、加载

library(包)#包的名字

四、dplyr包的五个基础函数

提前输入一组数据:

test <- iris[c(1:2,51:52,101:102),]

1、mutate()新增列

mutate(test, new = Sepal.Length * Sepal.Width)#新增一列,为这两列的乘积

2、Select()按列筛选

select(test,1)#筛第一列
select(test,1,5)#筛第1.5列
select(test, Petal.Length, Petal.Width)#按名字筛选

3、筛选行

filter(test, Species == "setosa")#找出品种为setosa的所有列
filter(test, Species == "setosa"&Sepal.Length > 5 )#进一步限制某一列的数值大于5
filter(test, Species %in% c("setosa","versicolor"))#两个物种

注:x %in% y 对x里每一个元素进行判断,判断他是否在y中存在,存在就输出。

4、排序

arrange(test, Sepal.Length)#默认从小到大排序
arrange(test, desc(Sepal.Length))#desc是从大到小排列

5、汇总

summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
group_by(test, Species)# 按照Species分组
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))# 先按照Species分组,计算每组Sepal.Length的平均值和标准差

五、dplyr两个实用技能

1、管道操作%>%

test %>% 
  group_by(Species) %>% 
  summarise(mean(Sepal.Length), sd(Sepal.Length))

2、count统计某列的unique值

count(test,Species)

六、dplyr处理关系数据

将2个表进行连接,test1和test2

1、內连inner_join,取交集

inner_join(test1, test2, by = "x")

2、左连left_join

left_join(test1, test2, by = 'x')
left_join(test2, test1, by = 'x')#谁在左边向谁看齐

3、全连full_join

full_join( test1, test2, by = 'x')#并集?

4、半连接,返回能够与y表匹配的x表所有记录semi_join

semi_join(x = test1, y = test2, by = 'x')

5、反连接:返回无法与y表匹配的x表的所记录anti_join

anti_join(x = test2, y = test1, by = 'x')

6、简单合并

在相当于base包里的cbind()函数和rbind()函数;注意,bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数

bind_rows(test1, test2)#列数相同
bind_cols(test1, test3)#行数相同

思维导图

屏幕快照 2020-04-22 下午8.44.53.png
上一篇下一篇

猜你喜欢

热点阅读