R语言与多元统计分析 —— 多元正态分布
来源:互联网 发布:淘宝收货人搞笑名字 编辑:程序博客网 时间:2024/04/30 15:08
1、如何用R语言画二元正态分布的曲面图形
下面主要用两种技术来实现:
注意:z 的列维是 y 的长度,行维是 x 的长度(即 z 包含每一种可能的 (x, y) 点 的值)
第一种使用 persp(x, y, z)函数:下面看代码
fn = function(x, y) { sigma <- matrix(c(20,0,0,20), c(2,2)) u <- c(0,0) sSigma <- solve(sigma) exp(- ((x-u[1])^2 * sSigma[1,1] + 2*(x-u[1]) * (y-u[2]) * sSigma[1,2] + (y-u[2])^2 * sSigma[2,2]) )/(2*pi*det(sigma)^0.5)}a = 10x = seq(-a, a, 0.1)y = seq(-a, a, 0.1)#outer函数就是为每一个点(x,y)得到对应的z 即 z[i,j] = fn(x[i], y[j]),有点类似 matlab 的 meshgridz = outer(x, y, fn)persp(x, y, z)
第二种方法是用 rgl,这也是一个画 3D 图的好工具,不过原理还是一样,贴上代码:
fn = function(x, y) { sigma <- matrix(c(20,0.75,0.75,20), c(2,2)) u <- c(0,0) sSigma <- solve(sigma) exp(- ((x-u[1])^2 * sSigma[1,1] + 2*(x-u[1]) * (y-u[2]) * sSigma[1,2] + (y-u[2])^2 * sSigma[2,2]) )/(2*pi*det(sigma)^0.5)}a = 10x = seq(-a, a, 0.1)y = seq(-a, a, 0.1)z = outer(x, y, fn)library(rgl)zorder = rank(z)persp3d(x, y, z, col = rainbow(as.integer(max(zorder)))[zorder])
效果如下:
0 0
- R语言与多元统计分析 —— 多元正态分布
- 多元统计分析上机题之R语言实现(多元正态分布)
- R语言多元统计分析初探
- 多元统计分析上机题之R语言实现(因子分析)
- 多元统计分析及R语言建模-第6章 判别分析
- 多元统计分析及R语言建模-第7章 聚类分析
- R语言案例分析:多元数据的基本统计分析
- 多元统计分析及R语言建模-第5章 广义与一般线性模型
- 多元正态分布
- 多元正态分布
- 多元正态分布
- 多元统计分析学习——PCA
- R语言多元分析
- 多元统计分析及R语言建模-第4章 相关分析与回归分析及R使用
- R语言多元分析系列
- R语言多元分析系列
- R语言多元分析系列
- R语言多元线性回归
- linux-Tcp IP协议栈源码阅读笔记
- 挺不错的辞职信
- FINEBI商业智能软件搭建市国税税源与征管系统
- Linux下的find和xargs命名
- SQL执行顺序
- R语言与多元统计分析 —— 多元正态分布
- cocos2d-x convertToWorldSpace和convertToNodeSpace
- Ubuntu 安装Vim出错
- 多线程的优缺点---小笔记
- Maven快速上手
- MySQL初学
- iscroll4snap的使用备注
- 搭建hadoop,报错Could not find or load main class org.apache.hadoop.util.VersionInfo
- Editor------------------DrawGizmo