R语言 如何使用dplyr在R中生成频率表
R语言中的频率表是用来创建一个对离散值和分组区间都有各自计数的表格。它表示表格中每个区段的计数。它有助于构建概率,并对数据的分布有一个概念。
dplyr包用于通过执行操作和转换对数据进行模拟。它可以通过以下命令安装到工作空间。
install.packages("dplyr")
R中的数据框可以用R中的data.frame()方法创建。频数表可以通过使用count()方法附加到数据框架的管道操作符来构建。
语法: count(df-cols)
按组创建频率表
从count()方法中指定的列中选择组作为唯一的集合。输出中的列是count()方法的所有输入列。
group_by方法也可以使用管道操作符附加到数据上,按指定列分组。概率和计数也可以使用mutate()方法返回。可以使用prop.table(n)指定概率,它也使用数据框列中的值的计数。
library(dplyr)
# creating a data frame
data_frame <- data.frame(col1 = c("Geeks","Coding",
"Programming","Coding",
"Coding","Coding",
"Programming","Geeks",
"Learning","Programming",
"Geeks","Learning" ),
grp = c(rep(c("a","b","c"),4)))
print("Original Data")
print(data_frame)
# creating a frequency table using col1
# and grp columns of data frame
data_frame %>%
count(col1, grp) %>%
# now required with changes to dplyr::count()
group_by(grp) %>%
mutate(prop = prop.table(n))
输出
使用rpois()方法
函数也可以用来生成整数或字符串值的向量。R中的rpois()方法用于绘制随机计算的poisson密度。
语法: rpois(num-of-observations, rate=rate )
可以使用count()和mutate()方法来计算计数和它们各自的概率。prop.table可以用来计算概率。
library("dplyr")
# using a func to generate values
vec <- rpois(10,30)
# creating a data frame
data_frame <- data.frame(col1 = vec)
print("Original Data")
print(data_frame)
# creating a frequency table using col1 columns of data frame
data_frame %>%
# now required with changes to dplyr::count()
count(col1) %>%
mutate(prop = prop.table(n))
输出
通过计算概率
通过在count()方法中指定向量,可以使用R中的dplyr包来计算频率。各自的计数与积分值所处的区段一起被计算出来。prop.table被用来计算计算出的计数的概率。
library("dplyr")
# using a func to generate values
# creating a data frame
data_frame <- data.frame(col1 = c(1,3,5,6,23,6,2,5,7,16,8,
9,36,7,12,1,14,2,12,30))
print("Original Data")
print(data_frame)
# creating a frequency table using col1 columns of data frame
data_frame %>%
# now required with changes to dplyr::count()
count(col1) %>%
mutate(prop = prop.table(n))
输出