如何在 r 中创建相对频率表


相对频率表告诉您数据集中某些值相对于数据集中值总数的出现频率。

您可以使用以下基本语法在 R 中创建频率表:

 table(data)/length(data)

table()函数计算每个单独数据值的频率, length()函数计算数据集中值的总数。

因此,通过将每个单独的频率除以数据集的长度,我们可以获得数据集中每个值的相对频率。

以下示例展示了如何在实践中使用此语法。

示例 1:向量的相对频率表

以下代码显示了如何在 R 中为单个向量创建相对频率表:

 #define data
data <- c('A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C')

#create relative frequency table
table(data)/length(data)

  ABC
0.2 0.3 0.5

以下是如何解释该表:

  • 数据集中所有值的20%是字母 A
  • 数据集中所有值的30%是字母 B
  • 数据集中所有值的50%是字母 C

示例 2:数据框列的相对频率表

以下代码显示了如何在 R 中为数据框的列创建相对频率表:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
                 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
                 dots=c(1, 2, 2, 2, 3, 3, 3, 3))

#view first few rows of data frame
head(df)

  team wins points
1 to 2 1
2 to 9 2
3 to 11 2
4 to 12 2
5 to 15 3
6 B 17 3

#calculate relative frequency table for 'team' column
table(df$team)/length(df$team)
 
    ABC
0.625 0.250 0.125

示例 3:数据框中所有列的相对频率表

以下代码展示了如何在 R 中为数据帧的每一列创建相对频率表:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'C'),
                 wins=c(2, 9, 11, 12, 15, 17, 18, 19),
                 dots=c(1, 2, 2, 2, 3, 3, 3, 3))

#calculate relative frequency table for each column
sapply(df, function (x) table(x)/nrow(df))

$team
x
    ABC
0.625 0.250 0.125 

$wins
x
    2 9 11 12 15 17 18 19 
0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 

$points
x
    1 2 3 
0.125 0.375 0.500 

其他资源

如何在 R 中创建频率表
如何在R中创建多个变量的频率表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注