《R语言实战》自学笔记41-生成频数表

Python018

《R语言实战》自学笔记41-生成频数表,第1张

数据准备

频数表是数理统计中由于所观测的数据较多,为简化计算,将这些数据按等间隔分组,然后按选举唱票法数出落在每个组内观测值的个数,称为(组)频数。这样得到的表称“频数表”或“频数分布表”。

列联表(contingency table)是观测数据按两个或更多属性(定性变量)分类时所列出的频数表。它是由两个以上的变量进行交叉分类的频数分布表。列联表可以告诉你组成表格的各种变量组合的频数或比例。列联表分析的基本问题是:观察各属性之间是否独立,做简单的描述性统计。

按两个变量交叉分类的,该列联表称为两维列联表;若按3个变量交叉分类,所得的列联表称为3维列联表,依次类推。一维列联表就是频数分布表。频数就是各个分组中属性出现的次数。

1.一维列联表

2.二维列联表

table(A, B)

其中,A是行变量,B是列变量。

xtabs(~ A + B, data = mydata)

其中的mydata是一个矩阵或数据框。总的来说,要进行交叉分类的变量应出现在公式的右侧(即~符号的右方),以+作为分隔符。

gmodels包CrossTable()

3.多维列联表

参考资料:

可以用内置的graphic包来画,就是plot()和curve()

也可以用ggplot2来画,后者更灵活。

graphic

# 先生成一组随机数

x <- rnorm(2000)

# 画频率直方图, 分30个bin

hist(x, freq = F, breaks = 30) 

# 再画概率分布曲线

lines(density(x, bw=.5), col="red", lwd=2)

2. ggplot2

# 准备工作, 把x设成一个数据集

library(ggplot2)

data <- data.frame(x = x)

# 生成底层和直方图,概率线的图层

p <- ggplot(data, aes(x = x, y = ..density..))

p <- p + geom_histogram(fill = "navy")

p <- p + geom_density(colour = "green")

p

画出来风格不太一样,看你口味了

频数分布表在筛选成绩和做成绩比对图时尤为有效,那么Excel频数分布表怎么做,这里一起看看吧。

1、首先用Excel软件打开需要进行编辑的数据表格,查看表格数据内容。

2、点击Excel表格上方菜单栏中的【插入】,再在下面的功能选项中的图表中进行筛选。

3、根据成绩分布情况,选择【柱形图】作为表格内容编辑的频数图表。

4、选择一个图标模板,在原表格内插入一个数据分布表即所需要的频数分布图。

5、选中数据,点击【设计】图标,选中下方的【选择数据】选项对频数分布表进行设置。

6、例如表中的名次的分布并不重要而且显得累赘,则在弹出窗口中,将分布表的选中范围框定在成绩和姓名两栏。

7、剔除名次选项之后,可以在下方看到只有两个数据栏目,点击【确定】,频数分布表制作完成。