學(xué)習(xí)R包
安裝和加載R包
1.鏡像設(shè)置
https://mp.weixin.qq.com/s/XvKb5FjAGM6gYsxTw3tcWw來(lái)自生信星球
2.安裝
R包安裝命令是install.packages(“包”)或者BiocManager::install(“包”)。取決于你要安裝的包存在于CRAN網(wǎng)站還是Biocductor
3.加載
library(包)
require(包)
dplyr五個(gè)基礎(chǔ)函數(shù)
示例數(shù)據(jù)直接使用內(nèi)置數(shù)據(jù)集iris的簡(jiǎn)化版
test <- iris[c(1:2,51:52,101:102),]
1.mutate(),新增列
代表新增了一列名為“new”的數(shù)值,數(shù)值為sepal.legth*sepal.width
2.select(),按列篩選
(1)按列號(hào)篩選
(2)按列名篩選
3.filter()篩選行
4.arrange(),按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
arrange(test, Sepal.Length)
默認(rèn)從小到大排序arrange(test, desc(Sepal.Length))
用desc從大到小5.summarise():匯總
summarise(test, mean(Sepal.Length), sd(Sepal.Length))
計(jì)算Sepal.Length的平均值和標(biāo)準(zhǔn)差先按照Species分組溉痢,計(jì)算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
dplyr兩個(gè)實(shí)用技能
1:管道操作 %>% (cmd/ctr + shift + M)
(加載任意一個(gè)tidyverse包即可用管道符號(hào))
注:tidyverse是一組處理與可視化R包的集合嘱兼,其中g(shù)gplot2與dplyr最廣為人知
符號(hào)%>%,其意思是將%>%左邊的對(duì)象傳遞給右邊的函數(shù)
test %>% group_by(Species) %>% summarise(mean(Sepal.Length),sd(Sepal.Length))
2:count統(tǒng)計(jì)某列的unique值
count(test,Species)
dplyr處理關(guān)系數(shù)據(jù)
即將2個(gè)表進(jìn)行連接,注意:不要引入factor
options(stringsAsFactors = F)
代表禁止將字符轉(zhuǎn)換為factor
1.內(nèi)連inner_join,取交集
inner_join(test1, test2, by = "x")
2.左連left_join
left_join(test1, test2, by = 'x')
left_join(test2, test1, by = 'x')
3.全連full_join
4.半連接:返回能夠與y表匹配的x表所有記錄semi_join
semi_join(x, y): 保留 x 表中與 y 表中的觀測(cè)相匹配的所有觀測(cè)。
semi_join(x = test1, y = test2, by = 'x')
semi_join函數(shù)所得結(jié)果為與inner_join類(lèi)似碍讯,同樣是求兩個(gè)數(shù)據(jù)集的交集,但semi_join只保留/返回前者與后者相匹配的函數(shù)
5.反連接:返回?zé)o法與y表匹配的x表的所記錄anti_join
anti_join(x, y): 丟棄 x 表中與 y 表中的觀測(cè)相匹配的所有觀測(cè)扯躺。
anti_join(x = test2, y = test1, by = 'x')
6.簡(jiǎn)單合并
相當(dāng)于base包里的cbind()函數(shù)和rbind()函數(shù);注意捉兴,bind_rows()函數(shù)需要兩個(gè)表格列數(shù)相同,而bind_cols()函數(shù)則需要兩個(gè)數(shù)據(jù)框有相同的行數(shù)
- cbind: 根據(jù)列進(jìn)行合并录语,即疊加所有列倍啥,m列的矩陣與n列的矩陣cbind()最后變成m+n列,合并前提:cbind(a, b)中矩陣a澎埠、b的行數(shù)必需相符
-
rbind: 根據(jù)行進(jìn)行合并虽缕,就是行的疊加,m行的矩陣與n行的矩陣rbind()最后變成m+n行失暂,合并前提:rbind(a, b)中矩陣a彼宠、b的列數(shù)必需相符