1.绘制二维正态分布(X,Y)~N(0,0,1,1,0)
y=x=seq(-3,3,by=0.05)
fdesity=function(x,y) {1/(2*pi)*exp(-(x^2+y^2)/2)}
z=outer(x,y,fdesity)
z=outer(x,y,fdesity)
persp(x,y,z,theta = 45,expand=0.6)
积分运算之前需要安装 pracma软件包
在这里我们选择手动安装程序包:
- 下载对应的R包
1.打开https://mirrors.tuna.tsinghua.edu.cn/CRAN/
2.选择“Download R for Windows” - 选择”contrib”
- 选择对应的R版本,我使用的是4.0版本,使用快捷键ctrl+F,查找目标R包,并点击下载
下载完成后在Rstudio中选择packages,选择install进行安装,随后选择下载的pracma的下载安装路径
最后在勾选pracma就可以使用了
2.计算
Fun=function(x) {exp(-x^2/2)/sqrt(2*pi)}
integrate(Fun,-1,1)
运算结果: 0.6826895 with absolute error < 7.6e-15
计算
Fun=function(x) {exp(-x^2/2)/sqrt(2*pi)}
integrate(Fun,-Inf,1)
运算结果:0.8413448 with absolute error < 1.5e-05计算
计算
Fun=function(x) {exp(-x^2/2)/sqrt(2*pi)}
integrate(Fun,-Inf,Inf)
运算结果:1 with absolute error < 9.4e-05
3.计算
fun=function(x,y){x+y}
simpson2d(fun,0,1,2,3)
运算结果:[1] 3
4.生成标准正态分布函数二维表,行从0到4.2,间隔0.1,列从0到0.09,间隔0.01,共43行,10列数据
rowx=seq(0,4.2,by=0.1);colx=seq(0,0.09,by=0.01)
n=length(rowx);m=length(colx);
mat=outer(rowx,colx,'+')
rownames(mat)=format(rowx,digits=3);colnames(mat)=format(colx,digits=5)
for (i in 1:n) mat[i,]=sapply(mat[i,],pnorm)
mat[1:5,1:6]
5.随机生成两组各100个标准正态分布随机数存于X与Y,计算各自的均值,方差,标准差,中位数,协方差和相关系数
set.seed(101);X=rnorm(100); set.seed(201);Y=rnorm(100)
C_X=c(mean=mean(X),var=var(X),sd=sd(X),median=median(X))
C_Y=c(mean=mean(Y),var=var(Y),sd=sd(Y),median=median(Y))
C_XY=c(cov=cov(X,Y),cor=cor(X,Y))
C_X; C_Y;C_XY