学习小组Day6笔记--饭饭

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容