R包基礎(chǔ)
配置鏡像源
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)中科大源
file.edit('~/.Rprofile')
options()BioC_mirror 檢驗(yàn)鏡像源配置
R包安裝
install.packages(“包”)或者BiocManager::install(“包”) #區(qū)別在于是在CRAN還是Bioconductor
加載包
library(包)
require(包)
dplyr基礎(chǔ)函數(shù)(test <- iris[c(1:2,51:52,101:102),] 示例數(shù)據(jù))
- mutate() 新增列
mutate(test, new = Sepal.Length * Sepal.Width) test是文件名,后面是操作 - select() 按列篩選
- filter() 篩選行
- arrange(),按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
arrange(test, Sepal.Length) 默認(rèn)從小到大
arrange(test, desc(Sepal.Length)) 加desc從大到小 - summarise():匯總
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length)) #搭配group_by使用 - 管道操作 %>% (cmd/ctr + shift + M)
管道運(yùn)算符 %>% 的意思是:將左邊的運(yùn)算結(jié)果俺亮,以輸入的方式傳給右邊函數(shù)
x %>% f() %>% g() # 等同于 g(f(x)) 先對(duì) x 進(jìn)行 f 操作 , 接著對(duì)結(jié)果進(jìn)行 g操作 - count統(tǒng)計(jì)某列的unique值
dplyr處理關(guān)系數(shù)據(jù)
- stringsAsFactors = F #即將2個(gè)表進(jìn)行連接,注意:不要引入factor
test1 <- data.frame(x = c('b','e','f','x'), z = c("A","B","C",'D'),stringsAsFactors = F) data.frame 創(chuàng)建數(shù)據(jù)框 - 內(nèi)連inner_join,取交集
inner_join(test1, test2, by = "x") - 左連left_join
left_join(test1, test2, by = 'x') 與 left_join(test2, test1, by = 'x') 有區(qū)別民宿,以前面那個(gè)為準(zhǔn) - 全連full_join
full_join( test1, test2, by = 'x') x全都有,但是剩下的參數(shù)都以test1的x為準(zhǔn) - 半連接:返回能夠與y表匹配的x表所有記錄semi_join
semi_join(x = test1, y = test2, by = 'x') - 反連接:返回?zé)o法與y表匹配的x表的所記錄anti_join
anti_join(x = test2, y = test1, by = 'x') -
簡(jiǎn)單合并
bind_rows(test1, test2) 合并行杜耙,需列數(shù)相同
bind_cols(test1, test3) 合并列席爽,需行數(shù)相同