學(xué)習(xí)小組Day6筆記--魏麻將

R包什么哎垦?

R包是R函數(shù),編碼和樣本數(shù)據(jù)的集合恃疯, 它們存儲(chǔ)在R環(huán)境中的名為“l(fā)ibrary”的目錄下漏设。 默認(rèn)情況下,R在安裝過程中安裝一組軟件包澡谭。當(dāng)需要某些特定的目的時(shí)愿题,也可根據(jù)需要添加更多的包。 當(dāng)我們啟動(dòng)R控制臺(tái)時(shí)蛙奖,默認(rèn)情況下只有默認(rèn)軟件包可用潘酗。 已經(jīng)安裝的其他軟件包必須明確加載才能被要使用的R程序使用。

注意:學(xué)生信雁仲,R語言必學(xué)的原因是豐富的圖表和Biocductor上面的各種生信分析R包仔夺。

安裝和加載R包

  • 鏡像設(shè)置
    最基礎(chǔ)的是在Rstudio中進(jìn)行了設(shè)置(R鏡像是為了方便世界各地的使用者下載R軟件及相關(guān)軟件包,在各地設(shè)置的鏡像攒砖。但是需要去官網(wǎng)下載缸兔,下載速度太慢。所以吹艇,選擇離你最近的鏡像惰蜜,你下載R軟件或R包的速度相對(duì)較快)。后來需要自定義我們的下載鏡像受神,主要通過兩行代碼進(jìn)行:
option ("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

下次再打開Rstudio抛猖,試試options()$BioC_mirror檢查是否是國內(nèi)鏡像系統(tǒng)。如果發(fā)現(xiàn)不是得花鼻听,需要進(jìn)行高級(jí)設(shè)置财著。
R的配置文件 .Rprofile :R中經(jīng)常會(huì)使用一些命令,而且需要重復(fù)輸入撑碴,非常麻煩撑教。如果能夠一打開R就直接使用會(huì)方便很多。通過配置一個(gè).Rprofile文件醉拓,可以達(dá)到我們的目的伟姐。操作如下:

file.edit('~/.Rprofile')

再添加options兩行代碼,保存重啟即可

補(bǔ)充:.Renviron:是給R包一個(gè)家廉嚼,它是為了設(shè)置R的環(huán)境變量玫镐。

安裝加載R包

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),]

什么是iris數(shù)據(jù)集:


iris數(shù)據(jù)集.png

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

dplyr包主要用于數(shù)據(jù)清洗和整理,主要功能有:行選擇怠噪、列選擇、統(tǒng)計(jì)匯總杜跷、窗口函數(shù)傍念、數(shù)據(jù)框交集等是非常高效矫夷、友好的數(shù)據(jù)處理包.

  • mutate(),新增列
mutate(test, new = Sepal.Length * Sepal.Width)
新增一個(gè)new列,內(nèi)容是Sepal.Length * Sepal.Width(長度*寬度)
  • select(),按列篩選
    1 按列號(hào)篩選
    select (test,())憋槐,可以是標(biāo)量双藕,可以是向量
    2 按列名篩選
  • filter()篩選行
filter(test, Species == "setosa") 篩選行為物種為setosa的物種
 filter(test, Species == "setosa"&Sepal.Length > 5 ) 篩選物種為setosa并且Sepal.Length > 5的行。如果中間是|阳仔,就是篩選的或者
filter(test, Species %in% c("setosa","versicolor"))篩選忧陪,物種符合setosa,versicolor的行

注意=丁K惶!x %in% y 的意思是“對(duì)x里的每個(gè)元素進(jìn)行判斷评矩,判斷它是否在y中存在叶堆,存在就返回TRUE,不存在就返回FALSE”斥杜,多的元素在前虱颗,少的元素在后。

  • arrange(),按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
    arrange(test, Sepal.Length)#默認(rèn)從小到大排序
    arrange(test, desc(Sepal.Length))#用desc從大到小
  • summarise():匯總
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)差**

其中忘渔, A tibble: 3 x 3 =行*列
Groups: Species [3] 以。缰儿。進(jìn)行的分組

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

管道操作 %>%

magrittr包畦粮,主要定義了4個(gè)管道操作符,分另是%>%, %T>%, %$% 和 %<>%返弹。其中锈玉,操作符%>%是最常用的,其他3個(gè)操作符义起,與%>%類似拉背,在特殊的使用場景會(huì)起到更好的作用。
[R中的管道操作符%>%]http://www.reibang.com/p/7d034789da41

count統(tǒng)計(jì)某列的unique值

count(test,Species) 不同物種中的數(shù)量

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

data.frame()函數(shù)用法:將兩個(gè)表進(jìn)行連接

test1 <- data.frame(x = c('b','e','f','x'), z = c("A","B","C",'D')  stringsAsFactors = F)

stringsAsFactors=FALSE作用:用read.table和其衍生品比如read.csv read.delim,R會(huì)自動(dòng)把字符串string的列辨認(rèn)成factor默终。比如你有一個(gè)全班成績數(shù)據(jù)集,第一列名字,第二列性別,第三列語文成績,第四列數(shù)學(xué)成績椅棺。那么第一列和第二列如果你不告訴R
stringsAsFactors=FALSE 那么R就把這兩列認(rèn)成因子模式factor了。

  • 內(nèi)連接inner_join,取交集
    指僅僅保留x,y中相匹配的觀測(cè)齐蔽,相當(dāng)于取了個(gè)交集;以 by="x"為基準(zhǔn)两疚,下同
    inner_join(test1, test2, by = "x")
  • 外連接
    1 左連接 left_join
    y中未匹配的觀測(cè)丟棄,x中未匹配的觀測(cè)保留含滴,y中以NA填充
    left_join(test1, test2, by = 'x')
    2 全連full_join
    x,y中觀測(cè)全部保留诱渤,相當(dāng)于取了并集
    full_join( test1, test2, by = 'x')
  • 半連接:semi_join
    保留x中與y匹配的觀測(cè),它與內(nèi)連接的不同在于谈况,取交集但是并不合并y而僅僅是保留了x勺美,y的作用是做了篩選而已
    semi_join(x = test1, y = test2, by = 'x')
  • 反連接:anti_join
    是半連接的反向操作,用y做篩選递胧,找出非相交的部分保留下來
    anti_join(x = test2, y = test1, by = 'x')
  • 簡單合并
    在相當(dāng)于base包里的cbind()函數(shù)和rbind()函數(shù);
    注意,bind_rows()函數(shù)需要兩個(gè)表格列數(shù)相同
    而bind_cols()函數(shù)則需要兩個(gè)數(shù)據(jù)框有相同的行數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赡茸,一起剝皮案震驚了整個(gè)濱河市缎脾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌占卧,老刑警劉巖遗菠,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異华蜒,居然都是意外死亡辙纬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門友多,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牲平,“玉大人,你說我怎么就攤上這事域滥∽菔粒” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵启绰,是天一觀的道長昂儒。 經(jīng)常有香客問我,道長委可,這世上最難降的妖魔是什么渊跋? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮着倾,結(jié)果婚禮上拾酝,老公的妹妹穿的比我還像新娘。我一直安慰自己卡者,他們只是感情好蒿囤,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著崇决,像睡著了一般材诽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恒傻,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天脸侥,我揣著相機(jī)與錄音,去河邊找鬼盈厘。 笑死睁枕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播譬重,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼拒逮,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼罐氨!你這毒婦竟也來了臀规?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤栅隐,失蹤者是張志新(化名)和其女友劉穎塔嬉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體租悄,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谨究,尸身上長有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
  • 文/蒙蒙 一柏副、第九天 我趴在偏房一處隱蔽的房頂上張望勾邦。 院中可真熱鬧,春花似錦割择、人聲如沸眷篇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铅歼。三九已至,卻和暖如春换可,著一層夾襖步出監(jiān)牢的瞬間椎椰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工沾鳄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慨飘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像瓤的,于是被迫代替她去往敵國和親休弃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345