如何使用 cast 函式從 R 資料幀中查詢均值的列聯表?
列聯表考慮了兩個分類變數的數值。我們通常需要列聯表來進行計數,特別是在非引數分析中,但有時我們也希望分析平均值。因此,我們可以使用 reshape 包中的 cast 函式來輕鬆解決建立列聯表的問題。
考慮以下資料幀 −
示例
set.seed(99)
x1<-rep(c("A","B","C"),times=c(8,7,5))
x2<-sample(c("Low","Medium","High"),20,replace=TRUE)
x3<-sample(1:9,20,replace=TRUE)
df1<-data.frame(x1,x2,x3)
df1輸出
x1 x2 x3 1 A Low 2 2 A Medium 7 3 A Medium 6 4 A Low 5 5 A High 8 6 A Medium 7 7 A Medium 6 8 A Medium 5 9 B Medium 1 10 B Low 6 11 B High 6 12 B Low 7 13 B Medium 4 14 B Medium 5 15 B Medium 7 16 C Low 1 17 C Medium 6 18 C Medium 9 19 C Low 9 20 C High 3
載入 reshape 包並使用 x1 和 x2 的組合為 x3 建立列聯表 −
示例
library("reshape") cast(df1,x1~x2,mean,value="x3")輸出
x1 High Low Medium 1 A 8 3.5 6.20 2 B 6 6.5 4.25 3 C 3 5.0 7.50
我們來看另一個示例 −
示例
y1<-rep(c("Male","Female"),each=10)
y2<-sample(c("Weekly","Monthly","Quarterly","Yearly"),20,replace=TRUE)
y3<-sample(101:110,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2輸出
y1 y2 y3 1 Male Weekly 102 2 Male Yearly 107 3 Male Quarterly 110 4 Male Yearly 103 5 Male Quarterly 110 6 Male Monthly 110 7 Male Quarterly 105 8 Male Yearly 108 9 Male Quarterly 105 10 Male Quarterly 104 11 Female Quarterly 101 12 Female Monthly 108 13 Female Quarterly 103 14 Female Monthly 107 15 Female Weekly 109 16 Female Yearly 103 17 Female Quarterly 103 18 Female Quarterly 108 19 Female Quarterly 105 20 Female Weekly 105
使用 y1 和 y2 的組合為 y3 建立列聯表 −
cast(df2,y1~y2,mean,value="y3") y1 Monthly Quarterly Weekly Yearly 1 Female 107.5 104.0 107 103 2 Male 110.0 106.8 102 106
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP