鏡像設(shè)置
-
不想每次手動(dòng)設(shè)置鏡像?來(lái)吧,解放你的雙手!
- 設(shè)置R的配置文件 .Rprofile
說(shuō)起來(lái)這個(gè),就必須提到Rstudio最重要的兩個(gè)配置文件:在剛開始運(yùn)行Rstudio的時(shí)候,程序會(huì)查看許多配置內(nèi)容,其中一個(gè)就是.Renviron,它是為了設(shè)置R的環(huán)境變量(這里先不說(shuō)它);而.Rprofile就是一個(gè)代碼文件,如果啟動(dòng)時(shí)找到這個(gè)文件,那么就替我們先運(yùn)行一遍(這個(gè)過(guò)程就是在啟動(dòng)Rstudio時(shí)完成的)
--by 生信星球花花
file.edit('~/.Rprofile')
- 回車然后輸入鏡像設(shè)置
# options函數(shù)就是設(shè)置R運(yùn)行過(guò)程中的一些選項(xiàng)設(shè)置
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ū)的鏡像

- 保存,重啟R
輸入
options()$repos
options()$BioC_mirror
哇哦,amazing!我再也不用每次設(shè)置鏡像了呢

安裝R包
- CRAN網(wǎng)站:
install.packages(“包”) - Biocductor網(wǎng)站:
BiocManager::install(“包”)
加載R包
library(包)
require(包)
加載dplyr進(jìn)行今天的學(xué)習(xí)
library(dplyr)
test <- iris[c(1:2,51:52,101:102),]
- 增加一列
mutate()
mutate(test, new = Sepal.Length * Sepal.Width)
mutate(test,new2= Sepal.Length+Petal.Length)
###自定義要增加哪些
type=c(rep(2,3),rep(4,3))
mutate(test,type)

- 按列篩選
select()
1.按列號(hào)篩選
select(test,1)
image.png
select(test,c(1,5))
image.png
2.按列名篩選
select(test,Sepal.Length)
image.png
3.篩選行
filter(test, Species == "setosa")
image.png
同時(shí)符合兩種條件
filter(test, Species == "setosa"&Sepal.Length > 5 )
image.png
嗯,如果想要根據(jù)多個(gè)條件篩選記錄,只需要把每個(gè)條件都作為filter() 的參數(shù),就是把"&"換成","結(jié)果也是一樣的(這個(gè)理解應(yīng)該沒(méi)有錯(cuò))
filter(test, Species == "setosa",Sepal.Length > 5 )
image.png
有點(diǎn)厲害的代碼
%in%值得花時(shí)間仔細(xì)看(判斷前面一個(gè)向量?jī)?nèi)的元素是否在后面一個(gè)向量中,返回布爾值。)
filter(test, Species %in% c("setosa","versicolor"))

- 按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
arrange()
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)差.

還能夠根據(jù)分組再做分析
# 先按照Species分組,計(jì)算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

- 管道操作符 %>%,一個(gè)有無(wú)窮內(nèi)涵的操作,簡(jiǎn)單說(shuō)就是可以用 %>% 將函數(shù)連接起來(lái)。它可以把 %>%左側(cè)返回的結(jié)果,作為 %>%右側(cè)調(diào)用函數(shù)的第1個(gè)參數(shù),省去大量的賦值過(guò)程(是理解了,但自己編寫估計(jì)還是有困難的)
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))

- 統(tǒng)計(jì)某列的unique值
count
count(test,Species)
image.png - dplyr處理關(guān)系數(shù)據(jù).
即將2個(gè)表進(jìn)行連接,注意:不要引入factor, 其中內(nèi)連inner_join這個(gè)功能有點(diǎn)像merge
首先創(chuàng)建兩個(gè)模擬數(shù)據(jù)框
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,取交集(用的最多應(yīng)該是這個(gè))
inner_join(test1,test2,by="x")

2.左連left_join
以test1為主體
left_join(test1, test2, by = 'x')
以test2為主體
left_join(test2, test1, by = 'x')
3.全連full_join
只要有的就放在一個(gè)數(shù)據(jù)里
full_join( test1, test2, by = 'x')
4.半連接:返回能夠與y表匹配的x表所有記錄semi_join
我有你也有
semi_join(x = test1, y = test2, by = 'x')

5.反連接:返回?zé)o法與y表匹配的x表的所記錄anti_join
我有你沒(méi)有
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ù)
-by 花花
bind_rows(test1, test2)
bind_cols(test1, test3)
今天的學(xué)習(xí)還是相當(dāng)豐富的,雖然理解但到熟練運(yùn)用還有很長(zhǎng)一段距離,只能是在遇到實(shí)際問(wèn)題的時(shí)候返回來(lái)看和自己操作才能真正掌握!GOOD LUCK!今天就這樣啦!







