在學(xué)習(xí)R語言時,包是很實用但復(fù)雜的工具。包有很多種,可根據(jù)目的選擇。無論選擇何種包,在安裝過程中經(jīng)常會出現(xiàn)各種問題。即使可以順利安裝,理解并合理利用這些工具的各函數(shù),也需要消耗極大的耐心和毅力。利用好包這個工具,能為日后的分析工作帶來極大的便利。
先從文中的dplyr包入手吧。
今天先記錄對文中所列函數(shù)的語法的理解吧:
- mutate(),新增列:mutate(file, new=row1*row2),在file的row1列后插入row2列。
- select(),按列篩選:select(file, row),在file中篩選出指定列,可以是數(shù)字指定列數(shù)(單一數(shù)字,或多數(shù)字的向量),也可以是列名(可以是單列,或逗號分隔的多列,或含多列名的向量)。
- filter篩選行:filter(file,row_name=row),列名可以是單列或多列,均可包含表達(dá)式
- arrange(),按列對整個表格進(jìn)行排序:arrange(file,row),默認(rèn)為升序(從小到大),用desc(row)即為降序(從大到?。?。
- summarise(),匯總:summarise(file,統(tǒng)計法(如mean(row1), sd(row1)等))。summarise(group_by(file,row1),統(tǒng)計法(如mean(row2), sd(row2)等)),先對file的row1列進(jìn)行分組,后對每一組的row2列進(jìn)行mean、sd等統(tǒng)計。
特殊內(nèi)容(主要是語法):
- 管道操作 %>% (cmd/ctr + shift + M):可能和前面學(xué)過的環(huán)境變量(如attach、detach)有異曲同工之妙吧?
- count統(tǒng)計某列的unique值:count(file,row)。
- 連接(注意:不要引入factor,加入語句stringsAsFactors = F):
- 簡單合并:cbind()合并后列數(shù)增加,需要兩個數(shù)據(jù)框有相同的行數(shù);rbind()合并后行數(shù)增加,需要兩個數(shù)據(jù)框有相同的列數(shù)。
- 內(nèi)連inner_join,取交集:inner_join(file1, file2, by="x"),以元素“x”為key_word,取其在file1首次出現(xiàn)的位置,輸出在此位置前file1的所有元素及其在file1與file2中的所處行的全部元素,依序分列合并。
- 左連left_join:left_join(file1, file2, by="x"),在inner_join基礎(chǔ)上保留元素“x”在file1及file2所處行的全部元素。
- *全連full_join,取合集:full_join(file1, file2, by="x"),在left_join基礎(chǔ)上再輸出file2中元素“x”所處列的其余元素,其余列的元素不合并。
- 半連接semi_join:semi_join(x=file1, y=file2, by="x"),以元素“x”為key_word,取其在file1首次出現(xiàn)的位置,輸出在此位置前file1的所有元素,即棄file2,半保留file1。
- 反連接anti_join:anti_join(x=file1, y=file2, by="x"),以元素“x”為key_word,取其在file2首次出現(xiàn)的位置,棄在此位置前file2的所有元素在file1中的所處行的全部元素,即file2,半保留file1。
**semi_join與anti_join有半互補(bǔ)之意