如何在R中將包含兩個因子列和一個數值列的資料框轉換為表格?
當我們有兩個因子列和一個數值列時,我們可以根據因子列建立數值值的總計數列聯表。這可以使用base R中的xtabs函式完成。例如,如果我們有一個名為df的資料框,其中包含兩個因子列,例如f1和f2,以及一個數值列,例如Y,則可以使用命令xtabs(Y~f1+f2,df)建立df的列聯表。(注意原文中f1+f1應為f1+f2)
示例1
考慮以下資料框:
> x1<-sample(LETTERS[1:4],20,replace=TRUE) > x2<-sample(letters[1:4],20,replace=TRUE) > y1<-rpois(20,5) > df1<-data.frame(x1,x2,y1) > df1
輸出
x1 x2 y1 1 B a 5 2 B c 6 3 D b 3 4 D c 5 5 C b 8 6 D c 4 7 B c 8 8 A a 3 9 D c 6 10 D d 2 11 D c 9 12 D c 5 13 C d 8 14 C d 6 15 D d 4 16 C c 4 17 D d 5 18 A c 2 19 A c 4 20 B d 5
為df1中的資料建立列聯表:
> xtabs(y1~x1+x2,df1) x2
輸出
x1 a b c d A 3 0 6 0 B 5 0 14 5 C 0 8 4 14 D 0 3 29 11
示例2
> var1<-sample(c("G1","G2","G3","G4"),20,replace=TRUE)
> var2<-sample(c("C1","C2","C3","C4"),20,replace=TRUE)
> Response<-rpois(20,2)
> df2<-data.frame(var1,var2,Response)
> df2輸出
var1 var2 Response 1 G3 C2 1 2 G2 C4 4 3 G4 C2 3 4 G2 C3 4 5 G3 C4 1 6 G3 C3 1 7 G4 C1 1 8 G1 C4 3 9 G2 C3 1 10 G2 C1 0 11 G3 C1 1 12 G3 C4 0 13 G1 C1 2 14 G3 C1 1 15 G4 C1 3 16 G1 C2 4 17 G2 C4 2 18 G4 C4 4 19 G2 C4 1 20 G3 C3 0
為df2中的資料建立列聯表:
> xtabs(Response~var1+var2,df2)
輸出
var2 var1 C1 C2 C3 C4 G1 2 4 0 3 G2 0 0 5 7 G3 2 1 1 1 G4 4 3 0 4
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP