学习小组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)#行数相同