R中的概率分布函数及可视化
R中拥有众多的概率函数,既有概率密度函数,也有概率分布函数,可以调用函数,也可以产生随机数,其使用规则如下所示:
其中前面字母为函数类型,含义如下:
[dpqr]distribution_abbreviation()
d=密度函数(density)
p=分布函数(distributionfunction)
q=分位数函数(quantilefunction)
r=生成随机数(随机偏差)
distribution_abbreviation为概率分布名称的缩写,R中的概率分布类型如下所示:
对于概率密度函数和分布函数,其使用方法举例如下:例如正态分布概率密度函数为dnorm(),概率分布函数pnorm(),生成符合正态分布的随机数rnorm()。
x=pretty(c(-3,3),100)
y=dnorm(x)
plot(x, y)
作图结果如下所示:
对于生成随机数,其使用方法举例如下:
rnorm(n, mean=0, sd=1) #产生n个正态分布的数,mena平均值,sd标准差
runif(n, min=0, max=1) #产生n个均匀分布的数,min最小值,max最大值
接下来我们产生符合正态分布的随机数并作图:
library(ggplot2)y=rnorm(10000, mean=0, sd=1)
x=1:10000
data=data.frame(x=x, y=y)
ggplot(data, aes(x=y)) + geom_histogram(position='identity', alpha=0.5, binwidth=0.1, aes(y=..density..), fill="cyan") +stat_density(geom='line', position='identity', color="cyan4")
作图结果如下所示:
可以看到数据分布图像与正态函数图像基本相同。R也可以产生多维随机变量,例如MASS包中的mvrnorm()函数可以产生一维或者多维正态分布的随机变量,其使用方法如下所示:
mvrnorm(n=1, mu, Sigma...)
其中n为随机数的个数,mu为数值向量,给出均值,Sigma为对称的数值矩阵给出协方差矩阵。
当有多个随机变量都服从正态分布时,为多元正态性。接下来我们产生相关系数不同(1、0.75、0.25、0)的二维正太随机变量,并绘制其密度图,来观察区别,具体如下:
library(MASS)
#相关系数1
Sigma1=matrix(c(1, 1, 1, 1), 2, 2)
X1=mvrnorm(n=1000, c(0, 0), Sigma1) #总共1000个点
K1=kde2d(X1[,1], X1[,2], n=100) #n为估计密度所用点数,不能太大
col.palette=colorRampPalette(c("white","red")) #自定义颜色
filled.contour(K1, color=col.palette)
#相关系数0.75
Sigma2=matrix(c(1, 0.75, 0.75, 1), 2, 2)
X2=mvrnorm(n=1000, c(0, 0), Sigma2)
K2=kde2d(X2[,1], X2[,2], n=100)
filled.contour(K2, color=col.palette)
#相关系数0.25
Sigma3=matrix(c(1, 0.25, 0.25, 1), 2, 2)
X3=mvrnorm(n=1000, c(0, 0), Sigma3)
K3=kde2d(X3[,1], X3[,2], n=100)
filled.contour(K3, color=col.palette)
#相关系数0
Sigma4=matrix(c(1, 0, 0, 1), 2, 2)
X4=mvrnorm(n=1000, c(0, 0), Sigma4)
K4=kde2d(X4[,1], X4[,2], n=100)
filled.contour(K4, color=col.palette)
作图结果如下所示:
上面程序中kde2d()函数根据二维坐标来估计数据点的分布密度,并画出等密度线(可以使用contour(K4, lwd=1,add=T, xlim, ylim...)函数添加边界线并标注数据比例),然后自定义颜色并并填充进去形成图像,实际上展示了三维信息。但是我们仍可以用persp()函数来展示出3D图:
persp(K1, col="orange", theta=95, phi=30, d=2)
R中的概率分布函数及可视化相关推荐
- 神经网络中的概率分布函数
在本文中我们将尝试创建一个自定义的神经网络层,该层的训练结果是一个概率分布函数,而输出则是置信度最高的值. "神经网络是具有相互连接的节点的计算系统,其工作原理与人类大脑中的神经元非常相似. ...
- echart 广州3d_【R中最好的3D地理可视化】之echarts4r
本系列主要介绍R语言中当下最好的3D地理可视化,且完全可以商用或科研用. 涉及到的包有echarts4r,mapdeck,rayshader. 首先展示一下三种包做出的可视化效果, (1)echart ...
- matlab常见分布的分布函数的命令,Matlab统计工具箱中各类概率分布函数使用方法介绍...
本帖最后由 winner245 于 2013-4-24 22:47 编辑 1. Matlab Statistics Toolbox 中概率分布函数介绍 Matlab Statistics T ...
- unity3d 可视化编程_R编程系列:R中的3D可视化
unity3d 可视化编程 In the last blog, we have learned how to create "Dynamic Maps Using ggplot2" ...
- R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图、使用subset函数、使用drop_na函数
R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图.使用subset函数.使用drop_na函数 目录
- R语言ggplot2可视化:使用ggfortyify包中的autoplot函数自动可视化时间序列数据(Time Series Plot From a Time Series Object (ts))
R语言ggplot2可视化:使用ggfortyify包中的autoplot函数自动可视化时间序列数据(Time Series Plot From a Time Series Object (ts)) ...
- R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图、2D密度估计、MASS包中的kde2d函数实现2D密度估计、geom_density2d函数可视化二维密度图
R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图.2D密度估计.MASS包中的kde2d函数实现2D密度估计.geom_density2d函数可视化二维密度图 目录
- R+ECharts2Shiny实现web动态交互式可视化数据(中)
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习,python,R等数据领域感兴趣的同学 ...
- R语言使用pdf函数将可视化图像结果保存到pdf文件中、使用pdf函数打开图像设备、使用dev.off函数关闭图像设备、自定义width参数和height参数指定图像的宽度和高度
R语言使用pdf函数将可视化图像结果保存到pdf文件中.使用pdf函数打开图像设备.使用dev.off函数关闭图像设备.自定义width参数和height参数指定图像的宽度和高度 目录
最新文章
- linux c 线程的创建、线程等待、线程终止、线程分离
- *8.哈希冲突是什么?以及如何解决哈希冲突
- 系统安装操作优化:chapter5 安装驱动程序与检测电脑
- ytu 2335: 0-1背包问题
- 『设计模式』HR:不会设计模式,你好意思来面试?(面试必备设计模式)
- web中的cookie管理
- hashlib 模块用来进行hash
- OJ8462-大盗阿福【各种dp之5】
- 安徽理工大学大学计算机科学与技术学院,2020年安徽理工大学计算机科学与技术考研经验分享...
- HBase 参考指南 3.0 翻译活动期待大家的参与 | ApacheCN 1
- 年夜饭之 -- 洋葱炒墨鱼仔
- phpnow修改默认站点根目录的方法
- 空间变量php,PHP名称空间可以包含变量吗?
- 安装python报错:Detected Windows 7 SP1 without KB2533623
- linux手机拍照翻译软件,拍图识字翻译软件-拍图识字翻译app下载v1.1.3-Linux公社
- Java解析json数组三种情况
- ocr初始化失败怎么办_电脑提示应用程序正常初始化失败如何解决?
- 诺禾-数据库操作优化
- 信息系统安全管理架构
- 破圈的《张朝阳的物理课》,开启“知识突围”的搜狐视频
热门文章
- 背光源:你究竟是怎样的波长?
- Python找出序列中出现最多的元素
- Shiny平台构建与R包开发(五)——ui美化
- 雪崩 计算机组成原理,计算机组成原理复习资料(学习课件整理版可自学使用).doc...
- 哪个术语描述了服务器软件在专用计算机,计算机网络基础
- cytoscape插件centiscape的使用
- 如何安装python3.7.4_银河麒麟安装Python3.7.4以及升级自带OpenSSL
- CentOS 8 已是绝版?还有后续么?
- GCB | 南土所冯有智组揭示了温度非线性的控制了全球土壤腐生真菌地理学分布...
- 创业公司反内卷行为大赏