學(xué)習(xí)小組day6筆記—東枚

Rstudio的R包學(xué)習(xí)

R包是多個函數(shù)的集合率碾,具有詳細的說明和示例叔营。

安裝和加載R包

鏡像設(shè)置


圖片來源生信星球公眾號
filie.edit(`~/.Rprofile`)

在腳本編輯器中的代碼

options("repos" = c(CRAN="https://mirrors.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

options()$reposoptions()$BioC_mirrorl查看鏡像配置

R包安裝命令:

install.packages("包”)或者BiocManager::install("包")取決于你要安裝的包存在于CRAN網(wǎng)站還是Biocductor

R包加載命令

library(包) 或者 require(包)

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

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

  1. 新增列 mutate()
    mutate(test, new = Sepal.Length * Sepal.Width)
  2. 按列篩選 select()
    按列號篩選
  • select(test,1) # 從test中篩選第一列
  • select(test,c(1,5)) # 從test中篩選第一列和第五列
  • select(test,Sepal.Length) # 從test中篩選Sepal.Length列
    按列名篩選
    select(test, Petal.Length, Petal.Width) # 從test中篩選Petal.Length和Petal.Width。
    vars <- c("Petal.Length", "Petal.Width") # 將篩選出來的這兩列賦值為vars
    select(test, one_of(vars)) # one_of是用來聲明選擇對象的所宰,如one_of("x","y")就表明選擇x,y變量审编,這里vars前面賦值了,將前面的賦值直接寫select(test, one_of(c("Petal.Length", "Petal.Width"))),結(jié)果是一樣的歧匈。
  1. 篩選行(過濾器)filter()
  • filter(test, Species == "setosa") # 從test中篩選Species列中為setosa的行
  • filter(test, Species == "setosa"&Sepal.Length > 5 ) # 從test中篩選Species列中為setosa且Sepal.Length 列的值大于5的行
  • filter(test, Species %in% c("setosa","versicolor")) # 從test中篩選Species列為setosa和versicolor的行垒酬,(%in% # 相當(dāng)于match()函數(shù)的一個縮寫。用來判斷一個數(shù)組或矩陣是否包含在另一個數(shù)組或矩陣?yán)铩#?/li>
  1. 按某1列或某幾列對整個表格進行排序arrange()
  • arrange(test, Sepal.Length ) # 對test中的Sepal.Length列排序勘究,默認(rèn)從小到大排序
  • arrange(test, desc(Sepal.Length)) # 對test中Sepal.Length列從大到小排列 (desc()從大到小排序)
  1. 匯總 summarise()
  • summarise(test, mean(Sepal.Length), sd(Sepal.Length)) # 計算test中Sepal.Length列的平均值和標(biāo)準(zhǔn)差
  • ·group_by(test, Species)· # test先按照Species分組矮湘,計算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
  • summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) # 先對test的Species列分組,然后求各組Sepal.Length的均值和標(biāo)準(zhǔn)差

dplyr的兩個實用技能

  1. 管道操作 %in% (cmd/ctr+shift+M)
    加載任意一個tidyverse包即可用管道符號

    圖片來源生信星球公眾號

    (這一點不太懂)

  2. 統(tǒng)計某列的unique值count()
    count(test,Species) # 統(tǒng)計test中Species中的種類口糕,每種有多少個(這個功能有點像Excel的數(shù)據(jù)透視嚯)

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

  1. 內(nèi)連取交集 inner_join()
    inner_join(test1, test2, by = "x") # test1和test2根據(jù)x取交集
    內(nèi)連取交集
  2. 左連 left_join()
  • left_join(test1, test2, by = 'x') #橫向合并,test1在前邊景描,以test1的x列為準(zhǔn)
    test1在前

    left_join(test2, test1, by = 'x') #橫向合并十办,test2在前邊,以test2的x列為準(zhǔn)
    test2在前
  1. 全連 full_join()
    full_join( test1, test2, by = 'x') # 兩個表合并超棺,提取共同的x向族,然后根據(jù)兩表將其他的列補齊
    image.png

    image.png

    注意:表格的順序不同,得到的結(jié)果會不同
  2. 半連接:返回能夠與y表匹配的x表所有記錄semi_join()
  • semi_join(x = test1, y = test2, by = 'x') # 返回與test2匹配的test1的所有記錄
    半連接的結(jié)果
  1. 反連接:返回?zé)o法與y表匹配的所有記錄 anti_join()
    anti_join(x = test2, y = test1, by = 'x') # 返回?zé)o法與test1匹配的test2的所有記錄
    反連接的結(jié)果
  2. 簡單合并
    bind_rows()函數(shù)需要兩個數(shù)據(jù)框的列數(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)# test1和test2行合并
    合并行
  • bind_cols(test1, test3) # test1和test3列合并
    列合并

    行合并列數(shù)要相同棠绘,列合并行數(shù)要相同
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末件相,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子氧苍,更是在濱河造成了極大的恐慌夜矗,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件让虐,死亡現(xiàn)場離奇詭異紊撕,居然都是意外死亡,警方通過查閱死者的電腦和手機赡突,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門逛揩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人麸俘,你說我怎么就攤上這事【宓眩” “怎么了从媚?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長患整。 經(jīng)常有香客問我拜效,道長,這世上最難降的妖魔是什么各谚? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任紧憾,我火速辦了婚禮,結(jié)果婚禮上昌渤,老公的妹妹穿的比我還像新娘赴穗。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布般眉。 她就那樣靜靜地躺著了赵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪甸赃。 梳的紋絲不亂的頭發(fā)上柿汛,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音埠对,去河邊找鬼络断。 笑死,一個胖子當(dāng)著我的面吹牛项玛,可吹牛的內(nèi)容都是我干的貌笨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼稍计,長吁一口氣:“原來是場噩夢啊……” “哼躁绸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起臣嚣,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤净刮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硅则,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淹父,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年怎虫,在試婚紗的時候發(fā)現(xiàn)自己被綠了暑认。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡大审,死狀恐怖蘸际,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情徒扶,我是刑警寧澤粮彤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站姜骡,受9級特大地震影響导坟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜圈澈,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一惫周、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧康栈,春花似錦递递、人聲如沸喷橙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽重慢。三九已至,卻和暖如春逊躁,著一層夾襖步出監(jiān)牢的瞬間似踱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工稽煤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留核芽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓酵熙,卻偏偏與公主長得像轧简,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子匾二,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355