R 中的累积频率和概率表
在本文中,我们将看到如何在 R 编程语言中计算累积频率和概率表。
使用的功能
桌子(): R 中的表格用于更好地组织和汇总分类变量。 table() 方法采用属于向量的交叉分类因子来构建每个值组合的计数的列联表或频率表。列联表基本上是多个变量的计数和/或百分比的表格。它从提供给方法的因子变量中排除了任何缺失值的计数。返回的输出采用表格的形式,其中第一列包含不同的值,后跟它们各自的计数。该方法可用于交叉制表和统计分析。
frequency_table <- table (vec)
累计(): 累积频率可以通过频率分布表中每个频率值的总和来计算,以包括其前辈的总和。此表的最后一个值将等于所有观测值的总和。累积频率表可以通过频率表计算,使用 cumsum() 方法。此方法返回一个向量,其对应元素是累积和。
cumsum ( frequency_table)
示例 1:这里我们将创建一个频率表。
R
set.seed(1)
vec <- sample(c("Geeks", "CSE", "R", "Python"),
50 , replace = TRUE)
# generating frequency table
data <- table(vec)
# frequency table
print ("Frequency Table")
print (data)
print ("Cumulative Frequency Table")
cumfreq_data <- cumsum(data)
print (cumfreq_data)
R
set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
,50 , replace = TRUE)
# generating frequency table
data <- table(vec)
# frequency table
print ("Frequency Table")
print (data)
print ("Probability Table")
prob_data <- data/50
print (prob_data)
R
set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
,50 , replace = TRUE)
# generating frequency table
data <- table(vec)
# probability
num_obsrv <- 50
prob_data <- data/num_obsrv
# cumulative frequency
cumfreq_data <- cumsum(data)
data_frame <- data.frame(data, cumfreq_data,prob_data)
colnames(data_frame) <- c("data","frequency",
"cumulative_frequency",
"data","probability")
print (data_frame)
输出:
[1] "Frequency Table"
vec
CSE Geeks Python R
16 16 7 11
[1] "Cumulative Frequency Table"
CSE Geeks Python R
16 32 39 50
示例 2:创建概率表。
概率表是属于特定类别的总样本的比例。因此,它是频率表值除以观测总数得到的,即向量的长度。输出采用表格的形式,其中第一列包含不同的值,后跟它们各自的出现概率。
prob_table <- freq_table/number of observations
代码:
电阻
set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
,50 , replace = TRUE)
# generating frequency table
data <- table(vec)
# frequency table
print ("Frequency Table")
print (data)
print ("Probability Table")
prob_data <- data/50
print (prob_data)
输出:
[1] "Frequency Table"
vec
CSE Geeks Python R
16 16 7 11
[1] "Probability Table"
vec
CSE Geeks Python R
0.32 0.32 0.14 0.22
示例 3:创建累积频率和概率表,
获得的所有列可以合并在一起形成一个数据框,其中各个组件构成数据框的列。也可以使用 colnames(df) 方法分配数据框列名称。
电阻
set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
,50 , replace = TRUE)
# generating frequency table
data <- table(vec)
# probability
num_obsrv <- 50
prob_data <- data/num_obsrv
# cumulative frequency
cumfreq_data <- cumsum(data)
data_frame <- data.frame(data, cumfreq_data,prob_data)
colnames(data_frame) <- c("data","frequency",
"cumulative_frequency",
"data","probability")
print (data_frame)
输出:
data frequency cumulative_frequency data probability
CSE CSE 16 16 CSE 0.32
Geeks Geeks 16 32 Geeks 0.32
Python Python 7 39 Python 0.14
R R 11 50 R 0.22