美文网首页生信星球培训第五十期
学习小组Day6笔记--饭饭

学习小组Day6笔记--饭饭

作者: a饭饭o | 来源:发表于2020-04-08 09:47 被阅读0次

2020-04-08
今天的内容是学习R包(多个函数的集合),以dplyr为例。

一、配置Rstudio的下载镜像

CRAN的镜像没办法用来下载Bioconductor的包,为了保证我们可以自定义CRAN和Bioconductor的下载镜像,可以在Rstudio中通过两行代码进行设置。参考文章:你还在每次配置Rstudio的下载镜像吗?中的介绍,发现使用两行代码配置好下载镜像后,再次打开Rstudio设置的国内镜像就不存在了,还需重新进行配置。

图1.png
那么,就需要进入高级模式:需要用到R的配置文件.Rprofile

这里需要科普Rstudio最重要的两个配置文件:在刚开始运行Rstudio的时候,程序会查看许多配置内容,其中一个就是.Renviron,它是为了设置R的环境变量;而.Rprofile就是一个代码文件,如果启动时找到这个文件,那么就替我们先运行一遍(这个过程就是在启动Rstudio时完成的)。

file.edit('~/.Rprofile')  #编辑文件
options("repos" =c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))  #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")  #对应中科大源,当然其他地区的镜像也可以

最后,保存、重启Rstudio、再运行options()$reposoptions()$BioC_mirror即可发线还是我们配置的国内镜像,无需再次进行。

图2.png 神仙操作!从此再也不用每次下载包都要设置镜像了。

二、安装R包

重要!!! 确保联网操作!

R包的安装命令:
包存在于CRAN网站:install.packages("包")
包存在于Bioconductor网站:BiocManager::install("包")

如何知道包存在于哪里?----谷歌搜索吖。

以下载dplyr包为例,安装过程中并不是一帆风顺,出现了提示:有二进制版本,但源代码是后来的,是否要从源代码安装需要编译的包,回答no 图3.png

花花:“学R语言要高冷,能拒绝就拒绝。”

三、加载R包

library(包)或者require(包)均可

图4.png

四、dplyr五个基础函数学习

示例数据使用内置数据集iris的简化版,选取iris中1-2行,51-52行,101-102行的元素。
test <- iris[c(1:2,51:52,101:102),]

R语言内置了许多著名的数据集,iris是其中的一种,中文名是鸢尾花,有四个属性,分别是Sepal.Length(花萼长度),Sepal.Width(花萼宽度),Petal.Length(花瓣长度),Petal.Width(花瓣宽度),以及一个类别标签Species。

  • 新增列:mutate()
    mutate(test, 新增的列名 = 新增的内容) 图5.png
  • 按列筛选:select()
    selsect(test, 列号或者列名)
    图6.png
  • 筛选行:filter()
    filter(test,Species=="setosa")某一列名加上限制条件 图7.png
  • 按某一列或某几列对表格进行排序:arrange()
    arrange(test, Sepal.Length) #默认按照这一列从小到大排序
    arrange(test, desc(Sepal.Length)) #按照这一列从大到小排序 图8.png
  • 汇总:summarise()
    结合group_by进行分组,实用性更强
    group_by(test, Species) #按照Species分组
    summarise(test, mean(Sepal.Length), sd(Sepal.Length)) #计算Sepal.Length的平均值和标准差
    summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) #先按照Species分组,计算每组Sepal.Length的平均值和标准差 图9.png

五、dplyr两个实用技能

  • ** 管道操作 %>% (快捷键:cmd/ctr + shift + M)**
    内涵:将左边的值管道输出为右边调用的函数的第一个参数。
    test %>% group_by(Species) %>% summarise(mean(Sepal.Length), sd(Sepal.Length)) #把按照Species分组的结果给后面summarise命令使用 图10.png
  • 统计某列的unique值count()
    count(test,Species) #统计Species列中每项的重复数 图11.png

六、dplyr处理关系数据

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

首先创建两个数据框,test1和test2
  • 取交集:内连inner_join()
    inner_join(test1, test2, by = "x") #取两个表中x的交集,连在一起 图13.png
  • 左连:left_join()
    left_join(test1, test2, by = 'x') #以test1的x为基准将2个表连起来
    left_join(test2, test1, by = 'x') #以test1的x为基准将2个表连起来 图14.png
  • 全连:full_join()
    full_join( test1, test2, by = 'x') 图15.png
  • 半连接:semi_join #返回能够与y表匹配的x表所有记录
    semi_join(x = test1, y = test2, by = 'x') # 图16.png
  • 反连接:anti_join() #返回无法与y表匹配的x表所有记录
    anti_join(x = test2, y = test1, by = 'x') #返回test2中x与test1中无法匹配的内容
  • *简单合并

注意,bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数。

首先建立三个数据框test1、test2、test3,其中test1与test2有相同的列数,test1与test3有相同的行数。


图18.png
图19.png

今天的内容有点多,脑袋懵懵的......是一堆需要经常用才会记住的内容了~

相关文章

  • 2020-06-20

    学习小组Day6笔记--马小林 1、如何配置RStudio的下载镜像 基础 在RStudio中,选择Tools——...

  • 学习小组Day7笔记--Robin

    学习笔记 继续学习Day6的R

  • 饭~饭~饭

    无论是双胞胎的早餐还是盒饭,双妈都有认真对待噢~存照不多,先发几张哈~ 这是夏天给双宝带的酱油饭团...

  • 饭饭饭

    这次真的是吃饭的饭,我觉得以前我挺烦恼的事情竟然降落到他人身上了,我看到了能帮多少是多少吧!不想后辈的人继续被坑。...

  • 饭饭

    通话统计器

  • 饭饭

    世间始终你好

  • 饭饭

  • 饭饭

    我点的量至少是她的三倍,她还剩下了!? 我严肃地送她一句名言:非洲可是有很多饥饿儿童的!! 然后我吃着,她看着,就...

  • 饭饭

    今天我去了超市买东西,看到了一盒饭,用大米泡出来就可以吃了,我看了看五元钱呢好便宜呀,所以我就买了回来尝一尝,一个...

  • 深度学习丨如何成为高段位学习者?

    by 饭饭《精进》的阅读笔记 有谁会觉得自己不会学习吗?很多人的现状是,简单阅读开头之后,觉得不错就收藏到笔记中或...

网友评论

    本文标题:学习小组Day6笔记--饭饭

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