7 探索式資料分析| 資料科學與R語言 - Yi-Ju Tseng
文章推薦指數: 80 %
量化分析方式的測量值大多可用R的內建函數完成計算,但是在探索式分析時,常常需要遇到資料分組的分析情形(如觀察男性和女性的血壓差異、A隊與B隊的三分球命中率 ...
資料科學與R語言
1R語言101
1.1什麼是R語言
1.2函數使用
1.3變數設定
1.4執行視窗
1.5資料型態
1.5.1數值numeric
1.5.2字串character
1.5.3布林變數logic
1.5.4日期(Date)
1.6基本運算子
1.6.1數學基本運算
1.6.2邏輯運算
1.7錯誤訊息
1.8Help
2R資料結構
2.1向量vector
2.1.1快速產生向量函數
2.1.2向量運算
2.2因子factor
2.3列表list
2.3.1列表資料擷取
2.3.2列表資料編輯設定
2.4矩陣matrix
2.5資料框data.frame
2.6資料表data.table
2.7資料屬性查詢函數
3控制流程
3.1條件判斷
3.1.1if-else敘述
3.1.2if-elseif-else
4函數
4.1為什麼需要函數
4.2函數組成
4.3函數命名原則
4.4函數範例
4.5函式編程Functionalprogramming
4.6purrr
4.7map2family
4.8參考資料
5資料讀取與匯出
5.0.1純文字資料(無分隔)
5.0.2其他讀檔注意事項
5.0.3API(Applicationprogramminginterfaces)
5.0.4XML可延伸標記式語言
5.0.5網頁爬蟲Webscraping
5.1Facebook資料擷取
5.1.1GraphAPIinR
5.1.2Rfacebookpackage
5.2資料匯出
5.2.1文字檔.txt
5.2.2CSV檔.csv
5.2.3R物件.rds
6資料處理與清洗
6.1TidyData
6.2資料型別轉換處理
6.2.1資料型別檢查
6.2.2資料型別轉換
6.3文字字串處理
6.3.1基本處理
6.3.2搜尋字串
6.3.3正規表示式(RegularExpression)
6.4子集Subset
6.4.1一維資料(向量)
6.4.2二維資料
6.5排序
6.5.1sort向量排序
6.5.2order
6.6資料組合
6.7資料結合(Join)
6.8長表與寬表
6.9遺漏值處理
6.10綜合練習範例Casestudy
6.10.1載入資料
6.10.2資料總覽
6.10.3資料預覽
6.10.4資料排序後篩選
6.10.5欄位值篩選
6.10.6字串條件搜尋後篩選
7探索式資料分析
7.1什麼是探索式資料分析
7.2data.table
7.2.1i觀察值篩選邏輯
7.2.2j欄位選擇運算
7.2.3by分組依據
7.2.4參考文件與資源
7.3dplyr
7.3.1select()
7.3.2filter()
7.3.3mutate()
7.3.4summarise()
7.3.5group_by()
7.3.6arrange()
7.3.7rename()
7.3.8參考文件與資源
8資料視覺化
8.1資料視覺化的目的
8.2ggplot2簡介
8.2.1qplot()
8.2.2ggplot()
8.3ggplot2+地圖
8.3.1Choroplethmap面量圖
8.3.2ggmap()
8.4Taiwan的面量圖
8.4.1ggmap+面量圖
8.5Treemap
8.6參考文件與資源
9互動式資料呈現
9.1ggvis
9.2Plot.ly
9.3Shiny簡介
10資料探勘
10.1什麼是資料探勘
10.2Regression迴歸
10.2.1LinearRegression線性迴歸
10.2.2LogisticRegression羅吉斯迴歸
10.2.3最佳模型篩選
10.3DecisionTrees決策樹
10.4Clustering分群
10.4.1Hierarchicalclustering階層式分群
10.4.2K-meansclustering
10.5AssociationRules關聯式規則
10.6OpenSourcePackages
10.6.1Prophet
10.6.2TensorFlow
10.6.3MXNet
10.7模型驗證
10.7.1Regression迴歸驗證
10.7.2LogisticRegression邏輯迴歸驗證
10.7.3DecisionTrees決策樹驗證
10.8CaseStudy
10.9參考資料
11從小數據到大數據分析
11.1R+Hadoop
11.2RHadoop安裝測試流程(Cloudera)
11.2.1系統/軟體版本資訊
11.2.2參考資料
11.2.3安裝步驟
11.2.4測試前,先解決權限問題
11.2.5測試
11.2.6安裝RStudioServer
11.3RHadoopMapReduce:easywordcount
11.4R+Spark
12軟體安裝介紹
12.1R安裝
12.2RStudio安裝
12.3RStudio使用簡介
12.3.1專案
12.3.2RStudio介面
13教學影片資訊
13.1教學影片頻道連結
13.2完整版播放清單
13.3速成版播放清單
作者資訊
References
Publishedwithbookdown
資料科學與R語言
7探索式資料分析
7.1什麼是探索式資料分析
探索式資料分析(ExploratoryDataAnalysis)的主要精神是運用視覺化、基本的統計等工具,反覆的探索資料特性,獲取資料所包含的資訊、結構和特點,因為在進行複雜或嚴謹的分析之前,必須要對資料有更多認識,才能訂定對的資料分析方向。
探索式資料分析包括分析各變數間的關聯性,看是否有預料之外的有趣發現,或是觀察資料內容是否符合預期,若否,檢查資料是否有誤,最後檢查資料是否符合分析前的假設,由上述可知,探索式資料分析通常不需要嚴謹的假設和細節呈現,主要功能還是『觀察』資料的特性。
在資料量大/雜的時候,探索式資料分析就非常重要,因為透過探索式資料分析,分析人員可以在複雜的統計計算與耗時的模型建立前,就先發現可能的錯誤,更重要的是,可以透過探索性分析來調整分析的方向,減少因分析方向錯誤所造成的時間浪費。
探索式資料分析分為:
圖形化Graphical或量化Quantitative
單變量Univariate或雙變量Bivariate或多變量Multivariate
圖形化的分析方式包括做圖與列表,量化的分析方式則是資料初步統計,本章節著重於量化的分析方式,圖形化的分析方式請參考Ch8。
以單變量分析來說,量化的分析方式可包含
計算集中趨勢(維基百科)
平均值Meanmean()
中位數Medianmedian()
眾數Mode,R無內建函數,可直接用table()找出現次數最多的資料
計算資料分散程度
最小值Minmin()
最大值Maxmax()
範圍Rangerange()
四分位差Quartilesquantile()
變異數Variancevar()
標準差Standarddeviationsd()
以雙變量分析來說,分析方式可包括:
列聯表Crosstabstable(),ftable(),prop.table()
共變數Covariancecov()
相關性Correlationcor()
量化分析方式的測量值大多可用R的內建函數完成計算,但是在探索式分析時,常常需要遇到資料分組的分析情形(如觀察男性和女性的血壓差異、A隊與B隊的三分球命中率差異、中鋒和後衛的助攻次數…等),若只用基本的內建函數計算,需要先完成資料分組或子集後,再作進一步的運算,相當耗時,為了使這類資料分組與分析的工作更容易被完成,本書在介紹探索式資料分析時會搭配介紹data.table(DowleandSrinivasan2019)和dplyr(Wickham,Francois,etal.2020)packages,這兩個packages各有優點,可依自己喜好選用。
7.2data.table
data.table是data.frame資料框型別的延伸,如要使用必須安裝並載入data.table(DowleandSrinivasan2019)package
install.packages("data.table")##安裝
library(data.table)##載入
使用data.table讀取大型資料的速度比使用資料框快上數倍,效能比較可參考Benchmarks:Grouping,讀取資料的函數為fread(),使用方法與一般檔案讀取方法(Ch??)類似
fread("檔案名稱")
如果已經使用其他資料來源將檔案讀成資料框data.frame格式,可以使用data.table()函數將data.frame轉為data.table格式,以先前介紹過的NBA資料為例(Ch6.10,需安裝與載入SportsAnalytics套件)
library(SportsAnalytics)
library(data.table)
NBA151680]
NBA
Al-farouqAminu
POR
SF
82
2342
299
719
126
349
115
156
98
498
138
72
120
53
171
0
839
3
0
0
82
NBA
TrevorAriza
HOU
SF
81
2860
357
858
185
497
126
161
67
366
188
161
113
26
177
0
1025
2
0
0
81
NBA
WillBarton
DEN
SG
82
2355
426
984
112
324
216
268
60
477
204
71
139
39
147
0
1180
2
0
0
1
NBA
AronBaynes
DET
PF
81
1241
194
384
0
2
126
165
140
384
51
21
67
52
151
0
514
0
0
0
1
NBA
BismackBiyombo
TOR
PF
82
1810
156
288
0
1
142
226
182
655
29
19
71
133
225
2
454
3
0
0
22
NBA
CoreyBrewer
HOU
SG
82
1670
212
552
61
225
105
140
42
199
109
84
78
19
168
1
590
0
0
0
12
NBA
AllenCrabbe
POR
SF
81
2111
312
678
112
284
98
113
27
216
99
63
64
16
192
2
834
0
0
0
8
NBA
EdDavis
POR
PF
81
1684
206
337
0
0
114
204
224
599
88
57
64
72
202
2
526
2
0
0
0
NBA
GorguiDieng
MIN
C
82
2222
308
578
6
20
205
248
156
584
143
94
140
96
219
0
827
1
0
0
39
NBA
AndreDrummond
DET
C
81
2664
552
1061
2
6
208
586
395
1198
67
119
154
112
245
2
1314
7
0
0
81
NBA
JaredDudley
WAS
SG
81
2098
233
487
100
239
72
98
54
286
170
75
80
18
190
1
638
1
0
0
41
NBA
MontaEllis
IND
PG
81
2733
436
1021
87
281
162
206
42
272
382
149
203
38
174
0
1121
1
0
0
81
NBA
RandyFoye
OKC
SG
81
1640
168
481
75
250
61
74
24
156
160
39
86
29
131
0
472
0
0
0
8
NBA
LangstoGalloway
NYK
PG
82
2032
231
588
77
224
86
114
43
288
207
77
61
22
177
2
625
0
0
0
7
NBA
PaulGeorge
IND
SF
81
2828
605
1448
210
565
454
528
79
563
329
152
265
29
230
1
1874
6
0
0
81
NBA
DraymondGreen
GSW
SF
81
2807
401
819
100
258
229
329
130
765
597
118
259
111
240
2
1131
11
0
0
81
NBA
JamesHarden
HOU
SG
82
3121
710
1617
236
656
720
837
63
502
612
138
374
51
229
1
2376
2
0
0
82
NBA
RoyHibbert
LAL
C
81
1881
182
411
0
2
117
145
131
398
95
32
76
110
252
3
481
2
0
0
81
NBA
AlHorford
ATL
PF
82
2638
529
1049
88
257
103
129
148
597
263
67
107
122
163
0
1249
1
0
0
82
NBA
JoeIngles
UTA
SF
81
1241
124
291
81
210
13
18
19
151
96
55
65
4
98
0
342
1
0
0
2
NBA
JoeJohnson
MIA
SF
81
2703
377
859
120
313
118
142
49
292
318
61
160
4
146
0
992
1
0
0
81
NBA
FrankKaminsky
CHA
PF
81
1713
215
525
68
202
108
148
69
336
97
37
58
43
126
0
606
0
0
0
3
NBA
EnesKanter
OKL
C
82
1721
415
720
10
21
200
251
250
665
33
26
115
33
166
1
1040
2
0
0
1
NBA
ZachLavine
MIN
PG
82
2295
433
960
123
316
161
203
28
229
252
69
155
17
193
1
1150
0
0
0
33
NBA
RobinLopez
NYK
C
82
2213
357
662
0
1
128
161
268
602
114
16
133
129
182
2
842
3
0
0
82
NBA
T.j.Mcconnell
PHI
PG
81
1609
218
464
31
89
26
41
43
250
367
95
140
10
114
0
493
0
0
0
17
NBA
DougMcdermott
CHI
SF
81
1860
291
644
110
259
72
84
37
195
59
14
52
6
127
0
764
0
0
0
4
NBA
PattyMills
SAN
PG
81
1659
260
612
123
320
47
58
27
158
226
59
76
6
102
0
690
0
0
0
3
NBA
PaulMillsap
ATL
PF
81
2640
501
1067
74
232
309
408
197
733
264
148
191
140
237
2
1385
4
0
0
81
NBA
ShabazzMuhammad
MIN
SF
82
1678
317
681
44
152
185
242
100
267
52
24
70
7
94
0
863
0
0
0
0
NBA
RaulNeto
UTA
PG
81
1501
180
418
64
162
52
70
17
120
173
62
109
2
122
1
476
0
0
0
53
NBA
MasonPlumlee
POR
PF
82
2087
267
517
0
4
215
335
201
628
226
68
154
82
253
4
749
1
0
0
82
NBA
JuliusRandle
LAL
PF
81
2287
358
835
10
36
193
270
172
830
144
53
149
29
242
2
919
0
0
0
60
NBA
RamonSessions
WAS
PG
82
1667
280
592
36
111
214
283
26
204
240
47
115
5
102
0
810
0
0
0
5
NBA
JaredSullinger
BOS
PF
81
1917
351
807
29
104
103
161
194
673
187
75
102
47
209
2
834
2
0
0
73
NBA
IsaiahThomas
BOS
PG
82
2647
591
1382
167
465
474
544
46
243
509
91
220
9
167
1
1823
9
0
0
79
NBA
TristanThompson
CLE
C
82
2269
247
420
0
0
149
242
268
738
63
38
61
51
202
0
643
1
0
0
34
NBA
Karl-anthoTowns
MIN
C
82
2621
625
1152
30
88
223
275
226
854
161
58
183
138
245
1
1503
2
0
0
82
NBA
P.j.Tucker
PHO
SF
82
2540
239
582
68
206
106
142
165
512
177
106
111
20
202
3
652
4
0
0
80
NBA
EvanTurner
BOS
SG
81
2270
343
753
20
83
148
179
50
397
359
80
169
28
139
0
854
2
0
0
12
NBA
KembaWalker
CHA
PG
81
2885
568
1332
182
490
371
438
56
358
421
127
171
39
111
0
1689
5
0
0
81
NBA
AndrewWiggins
MIN
SF
81
2844
594
1294
57
190
430
565
107
294
164
78
182
46
165
1
1675
1
0
0
81
NBA
MarvinWilliams
CHA
PF
81
2339
338
747
152
379
120
144
127
520
110
58
62
77
133
1
948
0
0
0
81
7.2.2j欄位選擇運算
第二個參數j是用來決定輸出欄位,輸出的欄位可以是原始欄位,也可以是計算後的欄位,以計算所有球員的平均出場數為例:
NBA1516DT[,mean(GamesPlayed)]##因沒有篩選需求,,前方留空
##[1]55
也可以一次計算多個數值,如同時計算平均出場數、平均犯規次數以及平均抄截次數,此時第二個欄位j需要使用.()包起來
NBA1516DT[,.(mean(GamesPlayed),mean(PersonalFouls),mean(Steals))]##因沒有篩選需求,,前方留空
##V1V2V3
##1:5510541
由上述輸出可以發現輸出的數字自動被加上欄位名稱V1,V2,V3,可能會造成數據判別錯誤,所以在計算新欄位時,可以在新欄位定義的前方加上欄位名稱=,同時替欄位取名字
NBA1516DT[,.(GamesPlayedMean=mean(GamesPlayed),
PersonalFoulsMean=mean(PersonalFouls),
StealsMean=mean(Steals))]
##GamesPlayedMeanPersonalFoulsMeanStealsMean
##1:5510541
除了計算平均值以外,當然可以帶入其他函式做各式各樣的運算
NBA1516DT[,.(GamesPlayedMax=max(GamesPlayed),#最大值
ThreesMadeMin=min(ThreesMade),#最小值
FieldGoalsMadeSD=sd(FieldGoalsMade))]#標準差
##GamesPlayedMaxThreesMadeMinFieldGoalsMadeSD
##1:820166
若配合第一個參數一起使用,可以計算出所有出場數大於70的球員,平均投進幾顆三分球與兩分球
NBA1516DT[GamesPlayed>70,
.(ThreesMadeMean=mean(ThreesMade),FieldGoalsMadeMean=mean(FieldGoalsMade))]
##ThreesMadeMeanFieldGoalsMadeMean
##1:76335
7.2.3by分組依據
第三個參數by為分組計算的依據,舉例來說,我們可以計算NBA各隊的球員數與平均助攻數,球員個數的計算在data.table內可使用.N指令,平均使用mean()函數,此時只要在by=後方加上分組依據(各隊Team),即可完成運算
NBA1516DT[,.(.N,AssistsMean=mean(Assists)),
by=Team]
##TeamNAssistsMean
##1:SAC15134
##2:MEM2274
##3:OKL14126
##4:NYK16105
##5:NOR2187
##6:LAC15124
##7:SAN16130
##8:POR15116
##9:IND15125
##10:WAS17127
##11:DAL15124
##12:MIL17113
##13:DET15105
##14:ORL15128
##15:HOU16101
##16:LAL1599
##17:DEN15122
##18:CHI15121
##19:GSW15158
##20:BRO16100
##21:CHA14118
##22:ATL15142
##23:TOR1697
##24:MIN14129
##25:PHO1797
##26:UTA1794
##27:MIA15131
##28:BOS15128
##29:PHI16118
##30:CLE16117
##31:OKC1160
##TeamNAssistsMean
.N在data.table內是保留字,用來計算個數
三個參數結合使用,可以輕鬆計算出NBA各隊的中鋒球員數和他們的平均三分球出手次數,指令如下:
NBA1516DT[Position=="C",
.(.N,ThreesAttemptedMean=mean(ThreesAttempted)),
by=Team]
##TeamNThreesAttemptedMean
##1:OKL37.00
##2:NOR40.25
##3:LAC20.50
##4:DET23.00
##5:BRO310.00
##6:LAL30.67
##7:WAS21.00
##8:GSW416.00
##9:SAN334.67
##10:HOU23.50
##11:SAC370.67
##12:PHO32.67
##13:ORL24.50
##14:MIN336.00
##15:MEM21.50
##16:UTA31.33
##17:IND20.50
##18:CHA10.00
##19:DEN243.50
##20:POR2116.00
##21:CLE32.33
##22:NYK11.00
##23:DAL31.67
##24:MIL20.50
##25:CHI11.00
##26:PHI24.00
##27:TOR36.00
##28:BOS2105.00
##29:ATL10.00
##30:MIA10.00
##TeamNThreesAttemptedMean
7.2.4參考文件與資源
data.table還有很多好用的功能,有興趣的話可以參考下列資料
官網
指令全集Thedata.tableRpackagecheatsheet
Adata.tableRtutorialbyDataCamp
DataCamp互動式教學課程
7.3dplyr
dplyr(Wickham,Francois,etal.2020)package是HadleyWickham開發的資料處理分析套件,如要使用必須安裝並載入dplyrpackage
install.packages("dplyr")##安裝
library(dplyr)##載入
dplyr使用以下函數分析整理資料:
select():選要分析的欄位,欄位子集(Column)
filter():選要分析的觀察值,觀察值子集(Row)
mutate():增加新欄位
summarise():計算統計值
group_by():分組依據
arrange():觀察值排序
rename():欄位重新命名
%>%:the“pipe”operator連結上數函式,將所有函式計算串在一起執行
以上述NBA資料為例,各函數功能分述如下:
首先先讀入資料
library(SportsAnalytics)
NBA15162850,]
filter12850)
filter1
##LeagueNameTeamPositionGamesPlayedTotalMinutesPlayed
##1NBATrevorArizaHOUSF812860
##2NBAJamesHardenHOUSG823121
##3NBAGordonHaywardUTASG802889
##4NBAKyleLowryTORPG772853
##5NBAKhrisMiddletonMILSF792855
##6NBAMarcusMorrisDETSF802852
##7NBAKembaWalkerCHAPG812885
##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttemptedFreeThrowsMade
##1357858185497126
##27101617236656720
##35211202143410393
##45121198212546398
##55071144143362277
##6410945108297203
##75681332182490371
##FreeThrowsAttemptedOffensiveReboundsTotalReboundsAssistsStealsTurnovers
##116167366188161113
##283763502612138374
##34776139729695202
##449155365494158225
##531245301331131180
##62719140420167140
##743856358421127171
##BlocksPersonalFoulsDisqualificationsTotalPointsTechnicalsEjections
##1261770102520
##2512291237620
##3271830157800
##4342111163490
##5192041143450
##62317011131110
##7391110168950
##FlagrantFoulsGamesStarted
##1081
##2082
##3080
##4077
##5079
##6080
##7081
也可選擇隊伍名稱為“BOS”或“SAN”的球員資料
##等同於NBA1516[NBA1516$Team%in%c("BOS","SAN"),]
filter248
##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttemptedFreeThrowsMade
##15361045016259
##2138296123762
##3295815353
##4456101814740696
##549105154911
##624220
##FreeThrowsAttemptedOffensiveReboundsTotalReboundsAssistsStealsTurnovers
##13021756311103899
##283252451236059
##34327963
##412348220158117109
##51635624138
##6001001
##BlocksPersonalFoulsDisqualificationsTotalPointsTechnicalsEjections
##1811510133100
##22997035000
##311607600
##4191642115500
##52311012400
##6000600
##FlagrantFoulsGamesStarted
##1074
##2011
##302
##4072
##500
##600
在filter()函式中可直接做變數計算後再篩選
##等同於
filter30.7)
filter3
##LeagueNameTeamPositionGamesPlayedTotalMinutesPlayed
##1NBAThAntetokounmpoNYKSF37
##2NBARakeemChristmasINDPF16
##3NBADeandreJordanLACC772600
##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttemptedFreeThrowsMade
##134010
##222000
##335750701266
##FreeThrowsAttemptedOffensiveReboundsTotalReboundsAssistsStealsTurnovers
##1001000
##2011000
##361926710599052107
##BlocksPersonalFoulsDisqualificationsTotalPointsTechnicalsEjections
##1020600
##2010400
##31762071980100
##FlagrantFoulsGamesStarted
##100
##200
##3077
也可使用&和|等符號串連邏輯
##等同於
filter40.7&GamesPlayed>30)
filter4
##LeagueNameTeamPositionGamesPlayedTotalMinutesPlayed
##1NBADeandreJordanLACC772600
##FieldGoalsMadeFieldGoalsAttemptedThreesMadeThreesAttemptedFreeThrowsMade
##135750701266
##FreeThrowsAttemptedOffensiveReboundsTotalReboundsAssistsStealsTurnovers
##161926710599052107
##BlocksPersonalFoulsDisqualificationsTotalPointsTechnicalsEjections
##11762071980100
##FlagrantFoulsGamesStarted
##1077
7.3.3mutate()
使用mutate()增加新欄位,如需新增新欄位FieldGoalsRate,欄位值為FieldGoalsMade/FieldGoalsAttempted,指令如下
mutate12500)
sum2%將指令串連,減少暫存物件(filter1)的生成,主要概念是先篩選後計算
sum32500)%>%
summarise(nPlayer=n(),meanFieldGoalsMade=mean(FieldGoalsMade),
meanFieldGoalsAttempted=mean(FieldGoalsAttempted))
sum3
##nPlayermeanFieldGoalsMademeanFieldGoalsAttempted
##1405121121
7.3.5group_by()
group_by()函數的功能為設定分組依據,通常會與summarise()函式Ch7.3.4合併使用,例如計算各隊(以Team作為分組依據)的球員數、平均投進的兩分球數以及平均投出的兩分球數
group1%
summarise(nPlayer=n(),meanFieldGoalsMade=mean(FieldGoalsMade),
meanFieldGoalsAttempted=mean(FieldGoalsAttempted))
##`summarise()`ungroupingoutput(overridewith`.groups`argument)
head(group1)
###Atibble:6x4
##TeamnPlayermeanFieldGoalsMademeanFieldGoalsAttempted
##
延伸文章資訊
- 1R語言之分組數據處理 - 台部落
在我們日常處理數據過程中,經常需要對分類或者分組數據進行相對應的函數 ... 分組變量的處理方法#tapply()函數#by()#aggregate()#plyr包#table()第一 ...
- 2R 常用技巧 - HackMD
tags: `R` `Data Processing` `資料前處理` # R 常用技巧Other Reference: 1. ... 實現分組統計的一種簡便、直接的方式,且能同時指定多個函數;...
- 3第15 天:資料處理技巧(2) · 輕鬆學習R 語言
dplyr 套件 ; mutate(), 新增變數 ; arrange(), 依照變數排序觀測值 ; summarise(), 聚合變數 ; group_by(), 依照類別變數分組,搭配 ...
- 47 探索式資料分析| 資料科學與R語言 - Yi-Ju Tseng
量化分析方式的測量值大多可用R的內建函數完成計算,但是在探索式分析時,常常需要遇到資料分組的分析情形(如觀察男性和女性的血壓差異、A隊與B隊的三分球命中率 ...
- 5【R語言】dplyr對數據分組取各組前幾行 - 人人焦點
【R語言】dplyr對數據分組取各組前幾行 ... 下面這張表就是GO富集分析得到的結果,我們可以根據ONTOLOGY這一列來分組,就可以得到BP,CC和MF三個組。