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

安裝加載dplyr

options("repos" =c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #清華源鏡像
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #中科院鏡像
install.packages("dplyr")#安裝
library(dplyr)#運(yùn)行

示例數(shù)據(jù)使用內(nèi)置數(shù)據(jù)集iris的簡(jiǎn)化版:
test <- iris[c(1:2,51:52,101:102),]

dplyr五個(gè)基礎(chǔ)函數(shù)

1.mutate()

新增列
mutate(test, new = Sepal.Length * Sepal.Width)


新增列
2.select()

按列篩選
(1)按列號(hào)篩選
例:
select(test,1)篩選第一列
select(test,c(1,5))篩選第1器紧、5列

(2)按列名篩選
select(test,Sepal.Length) 按照列名篩選(該命令為篩選名為Sepal.Length的列)渊迁。若篩選多個(gè)列,列名之間用,隔開(kāi)

3.filter()

篩選行
filter(test, Species == "setosa")篩選行名為setosa的行
filter(test, Species == "setosa"&Sepal.Length > 5 )篩選行名為setosa逆屡,且名為Sepal.Length的列中數(shù)據(jù)>5的行
filter(test, Species %in% c("setosa","versicolor"))篩選行名為setosa或versicolor的行

4.arrange()

按某1列或某幾列對(duì)整個(gè)表格進(jìn)行排序
arrange(test, Sepal.Length)以Sepal.Length列的數(shù)據(jù)大小對(duì)整個(gè)表格進(jìn)行重新排序 默認(rèn)從小到大排序
arrange(test, desc(Sepal.Length)) 用desc改為從大到小

summarise()

用于匯總
summarise(test, mean(Sepal.Length), sd(Sepal.Length)) 計(jì)算Sepal.Length的平均值和標(biāo)準(zhǔn)差
——mean:平均誉察;sd:標(biāo)準(zhǔn)差

group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

先按照Species分組与涡,計(jì)算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差

屏幕截圖 2022-07-30 213645.jpg

dplyr兩個(gè)實(shí)用技能

1:管道操作

%>% (cmd/ctr + shift + M)
%>%來(lái)自dplyr包的管道函數(shù),我們可以將其理解為車間里的流水線冒窍,經(jīng)過(guò)前一步加工的產(chǎn)品才能進(jìn)入后一步進(jìn)一步加工递沪,其作用是將前一步的結(jié)果直接傳參給下一步的函數(shù),從而省略了中間的賦值步驟综液,可以大量減少內(nèi)存中的對(duì)象款慨,節(jié)省內(nèi)存。
符號(hào)%>%谬莹,這是管道操作檩奠,其意思是將%>%左邊的對(duì)象傳遞給右邊的函數(shù)。

test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))

管道操作

2:統(tǒng)計(jì)某列的unique值

count
count(test,Species)
用于統(tǒng)計(jì)每一個(gè)數(shù)據(jù)列獨(dú)特值的個(gè)數(shù)

count

dplyr處理關(guān)系數(shù)據(jù)

1.合并成表格

options(stringsAsFactors = F)在讀入數(shù)據(jù)時(shí),遇到字符串之后,不將其轉(zhuǎn)換為factors,仍然保留為字符串格式
例:
test1 <- data.frame(x = c('b','e','f','x'),
z = c("A","B","C",'D'),
stringsAsFactors = F)

image.png

test2 <- data.frame(x = c('a','b','c','d','e','f'),
y = c(1,2,3,4,5,6),
stringsAsFactors = F)

屏幕截圖 2022-07-30 221528.jpg

2.連接表格

①內(nèi)連inner_join
例:
inner_join(test1, test2, by = "x")
以共同的名字為x的列中附帽,數(shù)據(jù)相同的行結(jié)合成為一個(gè)表

text1和text2的交集

②左連left_join
例:
left_join(test1, test2, by = 'x')

以text1的x列為主的左連

left_join(test2, test1, by = 'x')
以text2的x列為主的左連

哪個(gè)表格在前面埠戳,就以哪個(gè)表格的x列為基準(zhǔn)連接表格

③全連full_join
例:
full_join( test1, test2, by = 'x')

以text1的x列為基準(zhǔn)全連表格

④半連接:semi_join
例:
semi_join(x = test1, y = test2, by = 'x')
以x列為基準(zhǔn),與y表匹配的x表所有記錄

以x列為基準(zhǔn)蕉扮,與y表匹配的x表所有記錄

⑤反連接:無(wú)法與y表匹配的x表的所有記錄anti_join
例:
anti_join(x = test2, y = test1, by = 'x')
以x列為基準(zhǔn)整胃,無(wú)法與y表匹配的x表所有記錄

以x列為基準(zhǔn),無(wú)法與y表匹配的x表所有記錄

⑥簡(jiǎn)單合并
bind_rows() 合并有相同列數(shù)的兩個(gè)表格
即將另一個(gè)表格接在一個(gè)表格下面
bind_cols() 合并有相同行數(shù)的兩個(gè)表格
即將另一個(gè)表格接在一個(gè)表格右邊
表格名之間用,分隔

test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40))
test2 <- data.frame(x = c(5,6), y = c(50,60))

test3 <- data.frame(z = c(100,200,300,400)

bind_rows(test1, test2)
bind_rows(test1, test2)

bind_cols(test1, test3)
bind_cols(test1, test3)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喳钟,一起剝皮案震驚了整個(gè)濱河市屁使,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奔则,老刑警劉巖蛮寂,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異易茬,居然都是意外死亡酬蹋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)抽莱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)范抓,“玉大人,你說(shuō)我怎么就攤上這事食铐∝暗妫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵璃岳,是天一觀的道長(zhǎng)年缎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)铃慷,這世上最難降的妖魔是什么单芜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮犁柜,結(jié)果婚禮上洲鸠,老公的妹妹穿的比我還像新娘。我一直安慰自己馋缅,他們只是感情好扒腕,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著萤悴,像睡著了一般瘾腰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上覆履,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天蹋盆,我揣著相機(jī)與錄音,去河邊找鬼硝全。 笑死栖雾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的伟众。 我是一名探鬼主播析藕,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凳厢!你這毒婦竟也來(lái)了账胧?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤数初,失蹤者是張志新(化名)和其女友劉穎找爱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體泡孩,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡车摄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仑鸥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吮播。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖眼俊,靈堂內(nèi)的尸體忽然破棺而出意狠,到底是詐尸還是另有隱情,我是刑警寧澤疮胖,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布环戈,位于F島的核電站闷板,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏院塞。R本人自食惡果不足惜遮晚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拦止。 院中可真熱鬧县遣,春花似錦、人聲如沸汹族。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)顶瞒。三九已至夸政,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間搁拙,已是汗流浹背秒梳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留箕速,地道東北人酪碘。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像盐茎,于是被迫代替她去往敵國(guó)和親兴垦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容