R语言 如何制作频数分布表

R语言 如何制作频数分布表

在这篇文章中,我们将看到如何使用R编程语言制作一个频率分布表。

R语言中的table()方法是用来计算出现在数据框架指定列中的变量的频率计数的。计算结果以两行表格结构的形式返回,其中第一行表示该列的值,下一行表示其相应的频率。

frq-table <- table (x), where x is the data.table object
Bash

一个给定数据集的累积频率分布是指在得到的频率分布表中包括它下面的这个类的所有类的总和。任何单元格位置的值都是由所有以前的值和到现在为止遇到的当前值相加得到的。可以用cumsum()函数来计算。

cumsum( frq-table) 
Bash

相对频率也被称为概率分布,是相应数值的频率除以元素总数。这可以通过应用于频率表的prop.table()方法来计算。

prop.table (frq-table)
OR
frq-table / total observations
Bash

例1: 制作一个频率分布表。

library ('data.table')
 
# creating a dataframe
data_table <- data.table(col1 = sample(6 : 9, 9 ,
                                       replace = TRUE),
                          
                         col2 = letters[1 : 3],
                          
                         col3 = c(1, 4, 1, 2, 2,
                                  2, 1, 2, 2))
print ("Original DataFrame")
print (data_table)
 
freq <- table(data_table$col1)
 
print ("Modified Frequency Table")
print (freq)
 
print ("Cumulative Frequency Table")
cumsum <- cumsum(freq)
print (cumsum)
 
print ("Relative Frequency Table")
prob <- prop.table(freq)
print (prob)
Bash

输出

[1] "Original DataFrame" 
   col1 col2 col3 
1:    9    a    1
2:    6    b    4
3:    6    c    1
4:    6    a    2
5:    8    b    2
6:    7    c    2
7:    6    a    1
8:    6    b    2
9:    8    c    2
[1] "Modified Frequency Table"
6 7 8 9 
5 1 2 1 
[1] "Cumulative Frequency Table"
6 7 8 9 
5 6 8 9 
[1] "Relative Frequency Table"
6      7      8      9 
0.5556 0.1111 0.2222 0.1111 
Bash

例2 :

table()方法可以接受多个参数作为其参数。所有的组合都是通过列值的交叉连接产生的,然后提取出唯一的元素,以及它们相应的频率计数。结果以二维矩阵的形式得到,行和列的数量相当于所有的组合,矩阵单元格的值作为其计数。

library ('data.table')
 
# creating a dataframe
data_table <- data.table(col1 = sample(6 : 9, 9 ,
                                       replace = TRUE),
                         col2 = letters[1 : 3],
                          
                         col3 = c(1, 4, 1, 2, 2,
                                  2, 1, 2, 2))
print ("Original DataFrame")
print (data_table)
 
freq <- table(data_tablecol1, data_tablecol3)
print ("Modified Frequency Table")
print (freq)
Bash

输出

[1] "Original DataFrame"
   col1 col2 col3
1:    7    a    1
2:    7    b    4
3:    7    c    1
4:    8    a    2
5:    9    b    2
6:    9    c    2
7:    9    a    1
8:    7    b    2
9:    9    c    2 
[1] "Modified Frequency Table" 
  1 2 4   
6 2 1 0  
7 1 0 0   
8 0 1 1   
9 0 3 0
Bash

例3 :

通过将数据集导入工作空间,数据频率表和累积频率表也可以被可视化。绘制频率表时要注意数据框架的col1。每个值的频率计数被绘制出来,表示其总出现的次数。

# import libraries
library("ggplot2")
 
# creating a dataframe
data_table <- data.frame(col1 = sample(6 : 9, 9 ,
                                       replace = TRUE),
                         col2 = letters[1:3],
                         col3 = c(1, 4, 1, 2,
                                  2, 2, 1, 2, 2))
print ("Original DataFrame")
print (data_table)
 
# computing frequency
freq_tbl <- table(data_table$col1)
print ("Frequency count")
print (freq_tbl)
 
# re-order levels
frequency <- function(x) {
  factor(x, levels = names(table(x)))
}
 
# plotting the data with the help of ggplot
ggplot(data_table, aes(x = frequency(`col1`))) +
  geom_bar()
Bash

输出

[1] "Original DataFrame" 
col1 col2 col3 
1    6    a    1 
2    9    b    4 
3    6    c    1 
4    9    a    2 
5    8    b    2 
6    8    c    2
7    8    a    1 
8    7    b    2 
9    7    c    2
Bash

如何在R语言中制作频数分布表?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册