2020-10-14 入門小組DAY6-三三

學(xué)習(xí)R包——以dplyr為例

R包是多個函數(shù)的集合备禀,具有詳細(xì)的說明和示例。
學(xué)生信赋续,R語言必學(xué)的原因是豐富的圖表和Biocductor上面的各種生信分析R包另患。包的使用是一通百通的,我們以dplyr為例昆箕,講一下R包。

安裝和加載R包

1. 鏡像設(shè)置

image.png

2. 安裝
R包安裝命令是install.packages(“包”)或者BiocManager::install(“包”)敛熬。取決于你要安裝的包存在于CRAN網(wǎng)站還是Biocductor应民,存在于哪里可以谷歌搜到。

3. 加載
library(包)require(包)均可诲锹。

安裝加載三部曲###

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
install.packages("dplyr")
library(dplyr)

示例數(shù)據(jù)直接使用內(nèi)置數(shù)據(jù)集iris的簡化版:test <- iris[c(1:2,51:52,101:102),]

image.png

dplyr的五個基礎(chǔ)函數(shù)

  1. mutate():新增列
    新增列
  2. select():按列篩選
  • 按序號篩選
    select(test,1)
    select(test,c(1,5))
    select(test,Sepal.Length)
    image.png
  • 按列名篩選
    select(test, Petal.Length, Petal.Width)
vars <- c("Petal.Length", "Petal.Width")
select(test, one_of(vars))
image.png
  1. filter():篩選行
    filter(test, Species == "setosa")
    filter(test, Species == "setosa"&Sepal.Length > 5 )
    filter(test, Species %in% c("setosa","versicolor"))
    image.png
  2. arrange():按某1列或某幾列對整個表格進行排序
    arrange(test, Sepal.Length)#默認(rèn)從小到大排序
    arrange(test, desc(Sepal.Length))#用desc從大到小
    image.png
  3. summarise():匯總【對數(shù)據(jù)進行匯總操作,結(jié)合group_by使用實用性強】
    summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 計算Sepal.Length的平均值和標(biāo)準(zhǔn)差
    平均值和標(biāo)準(zhǔn)差
# 先按照Species分組,計算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
image.png

dplyr兩個實用技能

  1. 管道操作 %>%
    快捷鍵:cmd/ctr + shift + M捻浦,然后就會出來%>%這個符號
    加載任意一個tidyverse包即可用管道符號
test %>%
+ group_by(Species) %>%
+ summarise(mean(Sepal.Length),sd(Sepal.Length))
image.png
  1. count函數(shù)——統(tǒng)計某列的unique值
    count(test,Species)
    image.png

dplyr處理關(guān)系數(shù)據(jù)

即將2個表進行連接朱灿。
注意:不要引入factor钠四。

options(stringsAsFactors = F)

test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)
test1
test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6),
                    stringsAsFactors = F)
test2 
image.png
  1. 內(nèi)連 inner_join:取交集
    inner_join(test1,test2,by="x")

    內(nèi)連取交集

  2. 左連 left_join
    left_join(test1, test2, by = 'x')
    left_join(test2, test1, by = 'x')

    左連

  3. 全連 full_join
    full_join( test1, test2, by = 'x')

    全連

  4. 半連接 semi_join:返回能夠與y表匹配的x表所有記錄
    semi_join(x = test1, y = test2, by = 'x')

    image.png

  5. 反連接 anti_join:返回?zé)o法與y表匹配的x表的所記錄
    anti_join(x = test2, y = test1, by = 'x')

    image.png

  6. 簡單合并
    在相當(dāng)于base包里的cbind()函數(shù)和rbind()函數(shù)
    注意:bind_rows()函數(shù)需要兩個表格列數(shù)相同侣灶,而bind_cols()函數(shù)則需要兩個數(shù)據(jù)框有相同的行數(shù)缕碎。

test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40))
test1
test2 <- data.frame(x = c(5,6), y = c(50,60))
test2
test3 <- data.frame(z = c(100,200,300,400))
test3

bind_rows(test1, test2)
bind_cols(test1, test3)

image.png

簡單合并
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阎曹,一起剝皮案震驚了整個濱河市伪阶,隨后出現(xiàn)的幾起案子处嫌,更是在濱河造成了極大的恐慌,老刑警劉巖熏迹,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坛缕,居然都是意外死亡,警方通過查閱死者的電腦和手機赚楚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宠页,“玉大人,你說我怎么就攤上這事烤宙〖筻遥” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵拐云,是天一觀的道長捕虽。 經(jīng)常有香客問我坡脐,道長,這世上最難降的妖魔是什么备闲? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮咧纠,結(jié)果婚禮上泻骤,老公的妹妹穿的比我還像新娘。我一直安慰自己狱掂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布鸟顺。 她就那樣靜靜地躺著器虾,像睡著了一般蹦锋。 火紅的嫁衣襯著肌膚如雪欧芽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天巫湘,我揣著相機與錄音昏鹃,去河邊找鬼。 笑死洞渤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的载迄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼魂迄,長吁一口氣:“原來是場噩夢啊……” “哼惋耙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起湿酸,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤灭美,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后届腐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡厢呵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年襟铭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒砖。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖魁兼,靈堂內(nèi)的尸體忽然破棺而出漠嵌,到底是詐尸還是另有隱情,我是刑警寧澤儒鹿,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站植阴,受9級特大地震影響圾浅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜狸捕,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一灸拍、第九天 我趴在偏房一處隱蔽的房頂上張望做祝。 院中可真熱鬧株搔,春花似錦纯蛾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芦圾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眯杏。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工壳澳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巷波。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓抹镊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親髓考。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345