學(xué)習(xí)小組Day6筆記--飯飯

2020-04-08
今天的內(nèi)容是學(xué)習(xí)R包(多個(gè)函數(shù)的集合),以dplyr為例。

一、配置Rstudio的下載鏡像

CRAN的鏡像沒(méi)辦法用來(lái)下載Bioconductor的包比规,為了保證我們可以自定義CRAN和Bioconductor的下載鏡像,可以在Rstudio中通過(guò)兩行代碼進(jìn)行設(shè)置拦英。參考文章:你還在每次配置Rstudio的下載鏡像嗎?中的介紹蜒什,發(fā)現(xiàn)使用兩行代碼配置好下載鏡像后,再次打開(kāi)Rstudio設(shè)置的國(guó)內(nèi)鏡像就不存在了龄章,還需重新進(jìn)行配置吃谣。

圖1.png

那么,就需要進(jìn)入高級(jí)模式:需要用到R的配置文件.Rprofile

這里需要科普Rstudio最重要的兩個(gè)配置文件:在剛開(kāi)始運(yùn)行Rstudio的時(shí)候做裙,程序會(huì)查看許多配置內(nèi)容岗憋,其中一個(gè)就是.Renviron,它是為了設(shè)置R的環(huán)境變量锚贱;而.Rprofile就是一個(gè)代碼文件仔戈,如果啟動(dòng)時(shí)找到這個(gè)文件,那么就替我們先運(yùn)行一遍(這個(gè)過(guò)程就是在啟動(dòng)Rstudio時(shí)完成的)拧廊。

file.edit('~/.Rprofile')  #編輯文件
options("repos" =c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))  #對(duì)應(yīng)清華源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")  #對(duì)應(yīng)中科大源监徘,當(dāng)然其他地區(qū)的鏡像也可以

最后,保存吧碾、重啟Rstudio凰盔、再運(yùn)行options()$reposoptions()$BioC_mirror即可發(fā)線還是我們配置的國(guó)內(nèi)鏡像,無(wú)需再次進(jìn)行倦春。

圖2.png
神仙操作户敬!從此再也不用每次下載包都要設(shè)置鏡像了。

二睁本、安裝R包

重要D蚵!呢堰! 確保聯(lián)網(wǎng)操作抄瑟!

R包的安裝命令:
包存在于CRAN網(wǎng)站:install.packages("包")
包存在于Bioconductor網(wǎng)站:BiocManager::install("包")

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

以下載dplyr包為例皮假,安裝過(guò)程中并不是一帆風(fēng)順,出現(xiàn)了提示:有二進(jìn)制版本骂维,但源代碼是后來(lái)的钞翔,是否要從源代碼安裝需要編譯的包,回答no
圖3.png

花花:“學(xué)R語(yǔ)言要高冷席舍,能拒絕就拒絕布轿。”

三、加載R包

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

圖4.png

四汰扭、dplyr五個(gè)基礎(chǔ)函數(shù)學(xué)習(xí)

示例數(shù)據(jù)使用內(nèi)置數(shù)據(jù)集iris的簡(jiǎn)化版稠肘,選取iris中1-2行,51-52行萝毛,101-102行的元素项阴。
test <- iris[c(1:2,51:52,101:102),]

R語(yǔ)言內(nèi)置了許多著名的數(shù)據(jù)集笆包,iris是其中的一種环揽,中文名是鳶尾花,有四個(gè)屬性庵佣,分別是Sepal.Length(花萼長(zhǎng)度)歉胶,Sepal.Width(花萼寬度),Petal.Length(花瓣長(zhǎng)度)巴粪,Petal.Width(花瓣寬度)通今,以及一個(gè)類(lèi)別標(biāo)簽Species。

  • 新增列:mutate()
    mutate(test, 新增的列名 = 新增的內(nèi)容)
    圖5.png
  • 按列篩選:select()
    selsect(test, 列號(hào)或者列名)
    圖6.png
  • 篩選行:filter()
    filter(test,Species=="setosa")某一列名加上限制條件
    圖7.png
  • 按某一列或某幾列對(duì)表格進(jìn)行排序:arrange()
    arrange(test, Sepal.Length) #默認(rèn)按照這一列從小到大排序
    arrange(test, desc(Sepal.Length)) #按照這一列從大到小排序
    圖8.png
  • 匯總:summarise()
    結(jié)合group_by進(jìn)行分組肛根,實(shí)用性更強(qiáng)
    group_by(test, Species) #按照Species分組
    summarise(test, mean(Sepal.Length), sd(Sepal.Length)) #計(jì)算Sepal.Length的平均值和標(biāo)準(zhǔn)差
    summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) #先按照Species分組辫塌,計(jì)算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
    圖9.png

五、dplyr兩個(gè)實(shí)用技能

  • ** 管道操作 %>% (快捷鍵:cmd/ctr + shift + M)**
    內(nèi)涵:將左邊的值管道輸出為右邊調(diào)用的函數(shù)的第一個(gè)參數(shù)派哲。
    test %>% group_by(Species) %>% summarise(mean(Sepal.Length), sd(Sepal.Length)) #把按照Species分組的結(jié)果給后面summarise命令使用
    圖10.png
  • 統(tǒng)計(jì)某列的unique值count()
    count(test,Species) #統(tǒng)計(jì)Species列中每項(xiàng)的重復(fù)數(shù)
    圖11.png

六臼氨、dplyr處理關(guān)系數(shù)據(jù)

將2個(gè)表進(jìn)行連接,注意不要引入factor

首先創(chuàng)建兩個(gè)數(shù)據(jù)框芭届,test1和test2
  • 取交集:內(nèi)連inner_join()
    inner_join(test1, test2, by = "x") #取兩個(gè)表中x的交集一也,連在一起
    圖13.png
  • 左連:left_join()
    left_join(test1, test2, by = 'x') #以test1的x為基準(zhǔn)將2個(gè)表連起來(lái)
    left_join(test2, test1, by = 'x') #以test1的x為基準(zhǔn)將2個(gè)表連起來(lái)
    圖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() #返回?zé)o法與y表匹配的x表所有記錄
    anti_join(x = test2, y = test1, by = 'x') #返回test2中x與test1中無(wú)法匹配的內(nèi)容
  • *簡(jiǎn)單合并

注意,bind_rows()函數(shù)需要兩個(gè)表格列數(shù)相同喉脖,而bind_cols()函數(shù)則需要兩個(gè)數(shù)據(jù)框有相同的行數(shù)。

首先建立三個(gè)數(shù)據(jù)框test1抑月、test2树叽、test3,其中test1與test2有相同的列數(shù)谦絮,test1與test3有相同的行數(shù)题诵。


圖18.png

圖19.png

今天的內(nèi)容有點(diǎn)多,腦袋懵懵的......是一堆需要經(jīng)常用才會(huì)記住的內(nèi)容了~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末层皱,一起剝皮案震驚了整個(gè)濱河市性锭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌叫胖,老刑警劉巖草冈,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡怎棱,警方通過(guò)查閱死者的電腦和手機(jī)哩俭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拳恋,“玉大人凡资,你說(shuō)我怎么就攤上這事∶耍” “怎么了隙赁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)梆暖。 經(jīng)常有香客問(wèn)我伞访,道長(zhǎng),這世上最難降的妖魔是什么式廷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任咐扭,我火速辦了婚禮,結(jié)果婚禮上滑废,老公的妹妹穿的比我還像新娘蝗肪。我一直安慰自己,他們只是感情好蠕趁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布薛闪。 她就那樣靜靜地躺著,像睡著了一般俺陋。 火紅的嫁衣襯著肌膚如雪豁延。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天腊状,我揣著相機(jī)與錄音诱咏,去河邊找鬼。 笑死缴挖,一個(gè)胖子當(dāng)著我的面吹牛袋狞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播映屋,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼苟鸯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了棚点?” 一聲冷哼從身側(cè)響起早处,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘫析,沒(méi)想到半個(gè)月后砌梆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體默责,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年么库,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了傻丝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诉儒,死狀恐怖葡缰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忱反,我是刑警寧澤泛释,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站温算,受9級(jí)特大地震影響怜校,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜注竿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一茄茁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巩割,春花似錦裙顽、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至闻丑,卻和暖如春漩怎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勋锤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工叁执, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欢伏。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像滋恬,于是被迫代替她去往敵國(guó)和親恢氯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鼓寺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容