生信星球小组课day6笔记-老白

一、安装和加载R包

本白刚好前一阵子装过dplyr这个包,而且除了一些一问题。就是加载的时候出现如下报错。


加载dplyr出错.png

查了半天发现是这个原因:“R语言调用函数时,若有两个同名函数, 在查找到第一个的时候查找停止并进行调用。于是出现了上述报错。”
解决办法是输入命令

dplyr::filter
dplyr::lag
dplyr::intersect
dplyr::setdiff
dplyr::setequal
dplyr:: union

再重新输入library(dplyr)就没再报错了。算是个小经验吧。

二、一些dplyr包里的函数(命令)

先建一个新的小一些的数据框吧。
test <- iris[c(1:2,51:52,101:102),] 意思是把iris数据框里的第1,2行,第51,52行,第101,102行的数据赋值给test这个新的数据框。

1.增加列的命令 mutate()
mutate(test, Area= Sepal.Length * Sepal.Width) 是增加一列Area 为每行里面Sepal.Length和Sepal.Width相乘的数字。

2.选择列的命令select()
这个和昨天学的直接提取数据框里的某一列的元素是有差别的。比如都是想看第二列的数据。用select命令就更全面好看一些。


select.png

但是如果提取多列,输入似乎一样。感觉单列数据被歧视了啊。


select多列.png

除了可以用列的序列号之外,还可以用列的名称,比如select(test, Sepal.Length)
还可以用这个函数产生新的数据框newtest<-select(test, 1)
用select新建.png
  1. 筛选行filter()
    filter(test, Species == "setosa")是筛选出Species为setosa的所有行。这个命令也可以新产生子数据框,和select()类似。
    filter(test, Species %in% c("setosa","versicolor"))是筛选出Species为setosa或versicolor的所有行。
    filter(test, Species == "setosa"&Sepal.Length > 5 )是筛选出Species为setosa和Sepal.Length大于5的行。

  2. 对数据框排序Arrange()
    arrange(test, Sepal.Length)按照Sepal.Length的数值从小到大排列
    arrange(test, desc(Sepal.Length))按照Sepal.Length的数值从大到小排列

  3. 汇总summarise() 可以实现统计功能
    summarise(test, mean(Sepal.Length), sd(Sepal.Length))根据test里的数据,计算Sepal.Length的平均数和标准差

summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))按照Species分类后,分别计算平均数和标准差。

  1. count(test,Species)可实现计数功能
    对Species的数量进行计数

三、管道功能

  1. tidyverse是一个连贯的数据包操作系统。大概是包含了很多数据统计计算用的包吧。


    tidyverse.png
  2. 管道运算符 %>%,也可以叫做管道函数
    “其作用是将前一步的结果直接传参给下一步的函数,从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存。” “将%>%左边的对象传递给右边的函数,作为第一个选项的设置(或剩下唯一一个选项的设置)”。对管道的理解还不怎么清晰啊。。
test %>% 
   group_by(Species) %>% 
   summarise(mean(Sepal.Length), sd(Sepal.Length))

意思是把test的数据按照Species进行分组,然后对每组进行统计Sepal.Length的平均数和方差。似乎比一步一步单独计算要节省时间和内存。

四、dplyr处理关系数据

在学习管道概念的时候看到,dplyr这个包的作用有二:数据转换和处理数据关系。

  1. data.frame()函数用来从向量产生数据框
test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)
 test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                     y = c(1,2,3,4,5,6),
                     stringsAsFactors = F)

这是产生了test1和test2两个数据框

2.inner_join(test1, test2, by = "x")内部连接:取test1和test2两个数据框的交集

  1. left_join(test1, test2, by = 'x')left_join(test2, test1, by = 'x')两个命令结果是不同的。分别以左侧的数据框为基础,进行连接
    4.full_join( test1, test2, by = 'x') 全部数据都用上
  2. semi_join(x = test1, y = test2, by = 'x')半连接,意思是把x表里的数据和y去找能匹配上的。
    6.anti_join(x = test2, y = test1, by = 'x')反连接,正好相反,把x表里的数据去和y比对,找不能匹配上的。
  3. bind_rows()和bind_cols()两个函数用于简单合并。 bind_rows()是合并行,要求列数必须一致,才能合并的了。bind_cols()是合并列,则要行数一致才行。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容