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

鏡像設(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ū)的鏡像
image.png
  • 保存,重啟R
    輸入
options()$repos
options()$BioC_mirror

哇哦,amazing!我再也不用每次設(shè)置鏡像了呢


image.png

安裝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)
image.png
  • 按列篩選
    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"))

image.png
  • 按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
    arrange()
arrange(test, Sepal.Length)#默認(rèn)從小到大排序
image.png
arrange(test, desc(Sepal.Length))#用desc從大到小
image.png
  • 匯總
    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))
image.png
  • 管道操作符 %>%,一個(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))
image.png
  • 統(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")

image.png

2.左連left_join
以test1為主體
left_join(test1, test2, by = 'x')
image.png

以test2為主體
left_join(test2, test1, by = 'x')
image.png

3.全連full_join
只要有的就放在一個(gè)數(shù)據(jù)里
full_join( test1, test2, by = 'x')
image.png

4.半連接:返回能夠與y表匹配的x表所有記錄semi_join
我有你也有
semi_join(x = test1, y = test2, by = 'x')

image.png

5.反連接:返回?zé)o法與y表匹配的x表的所記錄anti_join
我有你沒(méi)有
anti_join(x = test2, y = test1, by = 'x')
image.png

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!今天就這樣啦!

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容