美文网首页生信星球培训第四十一期
学习小组Day6笔记——冬梅

学习小组Day6笔记——冬梅

作者: 冬梅_afe6 | 来源:发表于2020-03-08 03:38 被阅读0次

    生信星球学习笔记-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

    相关文章

      网友评论

        本文标题:学习小组Day6笔记——冬梅

        本文链接:https://www.haomeiwen.com/subject/moykdhtx.html