R语言 权变表

R语言 权变表

或然率表 对于将大量的观察数据浓缩成较小的、便于维护的表格来说非常有用。一个或然率表显示了一个变量在行中的分布,另一个变量在其列中的分布。权变表不仅对浓缩数据有用,而且还显示了变量之间的关系。它们是总结分类变量的一种方式。处理单一表格的或然率表被称为 复杂或平面或然率表

制作或然率表

或然率表是一种重新绘制数据并将其组合成表格的方法。而且,它显示了原始数据的布局,使读者能够获得原始数据的整体总结。在R中, table() 函数被用来创建一个或然率表。 table() 函数是R语言中最通用的函数之一,它可以接受任何数据结构作为参数,并将其变成一个表格。原始数据越复杂,生成的或然率表就越复杂。

从矢量创建或然率表

在R语言中,向量是一个给定长度的基本数据类型的有序集合。这里唯一的关键是一个向量的所有元素必须是相同的数据类型,例如同质数据结构。矢量是一维数据结构。它是最简单的数据对象,你可以从中创建一个或然率表。

例子

# R program to illustrate
# Contingency Table
 
# Creating a vector
vec = c(2, 4, 3, 1, 6, 3, 2, 1, 4, 5)
 
# Creating contingency table from vec using table()
conTable = table(vec)
print(conTable)

输出

vec
1 2 3 4 5 6 
2 2 2 2 1 1 

在给定的程序中,首先当我们对向量执行table()命令时,它对向量值进行排序,同时打印出向量中每个元素的频率。

从数据中创建或然率表

现在我们将看到一个简单的例子,它提供了一个数据框架,在一列中包含字符值,在其中一列中也包含一个因子。这一列因素包含字符变量。为了从数据中创建我们的或然率表,我们将利用table()的作用。在下面的例子中,table()函数返回一个或然率表。基本上,它返回一个分类变量的表格结果。

例子

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table from data using table()
conTable = table(df)
print(conTable)

输出

           Gender
 Name    Female Male
 Amiya      0    1
 Asish      0    1
 Rosy       1    0

创建自定义或然率表

R中的或然率表可以只使用一部分数据来创建,这与收集所有行和列的数据是不同的。我们可以通过以下方式在R中创建一个自定义或然率表。

  • 在或然率表中使用数据框的列
  • 在权变表中使用数据框架的行
  • 通过在R中旋转数据框架
  • 从R中的矩阵对象创建应急表

  • 应急表中使用数据框的列: 在table()命令的帮助下,我们可以指定创建应急表的列。为了做到这一点,你只需要在table()命令的参数中传递矢量对象的名称。
    例子

# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table by selecting a column
conTable = table(df$Name)
print(conTable)

输出

Amiya Asish  Rosy 
    1     1     1 

从输出结果来看,你可以注意到table()命令按照字母顺序对名字和它们的出现频率进行排序。

  • 在或然率表中使用数据框的行: 我们不能像在 “使用列 “部分那样直接使用数据框的行来创建或然率表。在矩阵的帮助下,我们可以通过查看数据框的行来创建一个或然率表。
    例子
# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Creating contingency table by selecting rows
conTable = table(as.matrix(df[2:3, ]))
print(conTable)

输出

Asish Female   Male   Rosy 
  1      1      1      1 
  • 通过在R中旋转数据框: 我们也可以通过在R中旋转数据框来创建一个或然率表。我们可以对数据进行旋转,即使用 t() 命令对数据进行转置。
    例子
# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Rotating the data frame
newDf = t(df)
 
# Creating contingency table by rotating data frame
conTable = table(newDf)
print(conTable)

输出

newDf
Amiya  Asish Female   Male   Rosy 
  1      1      1      2      1 
  • 在R中从矩阵对象中创建应急表 矩阵是一个行和列的矩形数字排列。在一个矩阵中,我们知道行是水平方向的,列是垂直方向的。矩阵是二维的、同质的数据结构。我们可以通过使用这个矩阵对象创建一个或然率表。
    例子
# R program to illustrate
# Contingency Table
 
# Creating a matrix
A = matrix(
  c(1, 2, 4, 1, 5, 6, 2, 4, 7),
  nrow = 3,
  ncol = 3
)
 
# Creating contingency table using matrix object
conTable = table(A)
print(conTable)

输出

A
1 2 4 5 6 7 
2 2 2 1 1 1 

将对象转换为表

如上所述,表是一种特殊类型的数据对象,它与矩阵相似,但也拥有一些不同之处。

  • 将矩阵对象转换为表格: 我们可以通过使用 as.table() 命令直接将矩阵对象转换为表格。只要将矩阵对象作为参数传递给 as.table() 命令即可。
    例子
# R program to illustrate
# Contingency Table
 
# Creating a matrix
A = matrix(
  c(1, 2, 4, 1, 5, 6, 2, 4, 7),
  nrow = 3,
  ncol = 3
)
 
# Converting Matrix Objects into tables
newTable = as.table(A)
print(newTable)

输出

  A B C
A 1 1 2
B 2 5 4
C 4 6 7
  • 将数据框对象转换为表格: 我们不能通过使用 as.table() 命令直接将数据框对象转换为表格。在数据框架的情况下,可以将该对象转换为矩阵,然后使用 as.table() 命令将其转换为表格。
# R program to illustrate
# Contingency Table
 
# Creating a data frame
df = data.frame(
  "Name" = c("Amiya", "Rosy", "Asish"),
  "Gender" = c("Male", "Female", "Male")
)
 
# Converting data frame object to matrix object
modifiedDf = as.matrix(df)
 
# Converting Matrix Objects into tables
newTable = as.table(modifiedDf)
print(newTable)

输出

  Name  Gender
A Amiya Male  
B Rosy  Female
C Asish Male 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程