如何从 R 数据框中创建带有边缘总和的列联表?
列联表中边缘的行和列的总和始终很有用,因为它们用于不同类型的计算,例如优势比、概率等。如果 R 数据框具有因子列,则可以为该数据框创建列联表,这可以使用 `addmargins` 函数完成。
示例
考虑以下数据框:
x1<-sample(LETTERS[1:4],20,replace=TRUE)
x2<-sample(c("India","USA","China"),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1输出
x1 x2 1 B China 2 B India 3 B India 4 D India 5 B India 6 D USA 7 D USA 8 A USA 9 D USA 10 C India 11 B China 12 D China 13 D China 14 A India 15 D USA 16 A China 17 D India 18 A China 19 B China 20 A India
为 x1 和 x2 创建带有边缘总和的列联表:
示例
>CT1<-addmargins(table(df1$x1,df1$x2),c(1,2)) >CT1
输出
China India USA Sum A 2 2 1 5 B 3 3 0 6 C 0 1 0 1 D 2 2 4 8 Sum 7 8 5 20
让我们看看另一个例子:
示例
y1<-sample(c("John","Christina","Michael","Sona"),20,replace=TRUE)
y2<-sample(c("1","2","3","4"),20,replace=TRUE)
df2<-data.frame(y1,y2)
df2输出
y1 y2 1 Sona 2 2 John 3 3 John 4 4 Sona 2 5 Christina 4 6 Michael 2 7 Michael 4 8 John 1 9 John 4 10 John 1 11 Michael 3 12 Sona 1 13 Sona 2 14 Michael 2 15 Michael 2 16 Michael 1 17 Michael 3 18 Christina 1 19 Christina 4 20 Sona 1
为 y1 和 y2 创建带有边缘总和的列联表:
示例
>CT2<-addmargins(table(df2$y1,df2$y2),c(1,2)) >CT2
输出
1 2 3 4 Sum Christina 1 0 0 2 3 John 2 0 1 2 5 Michael 1 3 2 1 7 Sona 2 3 0 0 5 Sum 6 6 3 5 20
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP