生信星球培训第四十一期

学习小组Day6笔记——冬梅

2020-03-08  本文已影响0人  冬梅_afe6

生信星球学习笔记-Day5学习R包

安装和加载R包

镜像设置
操作界面设置CRAN的镜像:Tools→Globle options →Packages→Primary CRAN repository
代码设置镜像:

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源

高级版(一次代码,永久生效)

file.edit('~/.Rprofile')
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源

安装

install.packages(“包”)或BiocManager::install(“包”)

加载

library(“包”)或require(“包”)

dplyr五个基础函数

mutate(数据框,列名= ),新增列

mutate(test, new = Sepal.Length * Sepal.Width)

select(数据框,列号或列名),按列筛选

select(test,1)
select(test,Sepal.Length)

filter(数据框, )筛选行

filter(test, Species %in% c("setosa","versicolor")) #%in%包含

arrange( ),按某1列或某几列对整个表格进行排序,默认从小到大
arrange( , desc( ))从大到小
summarise( ):汇总,group_by分组

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

dplyr两个实用技能

管道操作 %>% (cmd/ctr + shift + M),将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存
count统计某列的unique值(unique值是指不重复出现的值)

dplyr处理关系数据

即将2个表进行连接,注意:不要引入factor ?

options(stringsAsFactors = F) 
inner_join(test1, test2, by = "x") #內连,取交集
left_join(test1, test2, by = 'x') #左连
full_join( test1, test2, by = 'x') #全连
semi_join(x = test1, y = test2, by = 'x') #半连接:返回能够与y表匹配的x表所有记录
anti_join(x = test2, y = test1, by = 'x') #反连接:返回无法与y表匹配的x表的所记录
bind_rows(test1, test2) #要求列数相同
bind_cols(test1, test3) #要求行数相同

本次作业的疑问,为什么不要引入factor
补充上次作业遗留问题
save(X,file="test.RData")这句代码如果报错X not found,是为什么,应该怎么解决? 检查变量名X大小写是否与代码中书写一致。
上次作业中 直接使用数据框中的变量 部分

a <-data.frame(case=paste("S",1:50),values=runif(50)) #paste是连接的意思
plot(a$case,a$values) # $限定在a
attach(a)  # $限定在a
plot(case,values)
detach(a)#将a删除出搜索环境
with(a,{ plot(case,values)x<<-summary(values)  }) #<<的意思是作为全局变量,也就是出了大括号仍有效。
#with就是把所有操作都限制在数据框上

本次操作中遇到的问题

> options(stringsAsFactors = F)
> a <-data.frame(case=paste("S",(1:50)),values=runif(50))
> plot(a$case,a$values)
Error in plot.window(...) : 'xlim'值不能是无限的
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
> options(stringsAsFactors = T)
> a <-data.frame(case=paste("S",(1:50)),values=runif(50))
> plot(a$case,a$values)

不知道是不是options设置字符类型的缘故,更改为stringsAsFactors = T
之后没再报错,不知道这个与 不要引入factor 有什么联系。


DM生信星球学习Day5.png
上一篇下一篇

猜你喜欢

热点阅读