如何找出 R 資料幀中每個組合的總行數?
如果 R 資料幀包含兩個或多個因子列,則因子的數量肯定有很多種組合,顯然,如果因子的數量很大,級別也很高,則這些因子的級別組合也很大。要找出每個組組合的總行數,我們可以使用變形函式。
範例
考慮下面的資料幀 −
set.seed(101)
Group<-rep(c("G1","G2","G3","G4","G5"),times=4)
Class<-rep(c("A","B","C"),times=c(8,7,5))
Frequency<-sample(1:100,20)
df<-data.frame(Group,Class,Frequency)
df輸出
Group Class Frequency 1 G1 A 73 2 G2 A 57 3 G3 A 46 4 G4 A 95 5 G5 A 81 6 G1 A 58 7 G2 A 61 8 G3 A 60 9 G4 B 59 10 G5 B 3 11 G1 B 32 12 G2 B 9 13 G3 B 31 14 G4 B 93 15 G5 B 53 16 G1 C 92 17 G2 C 49 18 G3 C 14 19 G4 C 76 20 G5 C 45
範例
transform(df,Total=ave(Frequency,Group,Class, FUN = length))
輸出
Group Class Frequency Total 1 G1 A 73 2 2 G2 A 57 2 3 G3 A 46 2 4 G4 A 95 1 5 G5 A 81 1 6 G1 A 58 2 7 G2 A 61 2 8 G3 A 60 2 9 G4 B 59 2 10 G5 B 3 2 11 G1 B 32 1 12 G2 B 9 1 13 G3 B 31 1 14 G4 B 93 2 15 G5 B 53 2 16 G1 C 92 1 17 G2 C 49 1 18 G3 C 14 1 19 G4 C 76 1 20 G5 C 45 1
我們再來看一個具有相似資料的另一個示例 −
範例
set.seed(101)
Group<-rep(c("G1","G2"),times=10)
Class<-rep(c("A","B","C"),times=c(8,7,5))
df2<-data.frame(Group,Class,Frequency)
set.seed(101)
Group<-rep(c("G1","G2"),times=10)
Class<-rep(c("A","B","C"),times=c(8,7,5))
Frequency<-sample(1:100,20)
df2<-data.frame(Group,Class,Frequency)
df2輸出
Group Class Frequency 1 G1 A 73 2 G2 A 57 3 G1 A 46 4 G2 A 95 5 G1 A 81 6 G2 A 58 7 G1 A 61 8 G2 A 60 9 G1 B 59 10 G2 B 3 11 G1 B 32 12 G2 B 9 13 G1 B 31 14 G2 B 93 15 G1 B 53 16 G2 C 92 17 G1 C 49 18 G2 C 14 19 G1 C 76 20 G2 C 45
範例
transform(df2,Total=ave(Frequency,Group,Class, FUN = length))
輸出
Group Class Frequency Total 1 G1 A 73 4 2 G2 A 57 4 3 G1 A 46 4 4 G2 A 95 4 5 G1 A 81 4 6 G2 A 58 4 7 G1 A 61 4 8 G2 A 60 4 9 G1 B 59 4 10 G2 B 3 3 11 G1 B 32 4 12 G2 B 9 3 13 G1 B 31 4 14 G2 B 93 3 15 G1 B 53 4 16 G2 C 92 3 17 G1 C 49 2 18 G2 C 14 3 19 G1 C 76 2 20 G2 C 45 3
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP