R语言入门——画密度曲线
目录
- 0引言
- 任务说明
- 1、案例
- 1.1代码
- 1.1.1包的载入以及密度函数的书写
- 1.1.2 密度函数向量化
- 1.2.3 置信区间的选取
- 1.2.4数据的构造
- 1.2.5 画图
- 1.2图片
- 2、小结
0引言
给出下面得密度函数,
得出下面得密度图:
任务说明
给出相应得密度函数,还原上述图片,并给出置信区间。
1、案例
1.1代码
1.1.1包的载入以及密度函数的书写
library(ggplot2) # 载入包
fun <- function(Thetahat, Theta = 0.5, n = 22){k = "/"("*"((n-2)*((1-Theta^2)^((n-1)/2)),(1-Thetahat^2)^((n-4)/2)),pi)f <- function(w) "/"(1,(cosh(w)-Theta*Thetahat)^(n-1))Int <- integrate(f,0,Inf)return(k*Int$val)
}
1.1.2 密度函数向量化
Gfun <- function(f = fun, x = x, Theta = 0.5){n = length(x)y = c()for(i in 1:n){y <- c(y,fun(Thetahat = x[i], Theta = Theta))}return(y)
}
1.2.3 置信区间的选取
SelDDa <- function(x){n = length(x);X = cumsum(x)d = n - sum(X > cumsum(x)[n]*0.025)u = sum(X > cumsum(x)[n]*0.975)x[c(1:d,(n-u+1):n)] = 0return(x)
}
1.2.4数据的构造
x <- seq(-1,1,0.001)
y_0 <- Gfun(f = fun, x = x, Theta = 0)
y_0.5 <- Gfun(f = fun, x = x, Theta = 0.5)
y_f0.5 <- Gfun(f = fun, x = x, Theta = -0.5)
p = length(x)
Data <- data.frame(x = rep(x,3),y = c(y_0,y_0.5,y_f0.5),z = factor(rep(c(0,0.5,-0.5),each = p)),y0 = c(rep(0,p),SelDDa(y_0.5),rep(0,p)),y1 = c(SelDDa(y_0),rep(0,p),rep(0,p)),y2 = c(rep(0,p),rep(0,p),SelDDa(y_f0.5)))
1.2.5 画图
P <- qplot(x, y, col = z, facets = z ~ ., data = Data,
xlab = expression(hat(theta)),ylab = expression(f[theta](hat(theta))),
show.legend = F)
P + geom_ribbon(aes(ymin = 0, ymax = y0),
show.legend = F,alpha=0.3,
fill = c("blue")) + geom_ribbon(aes(ymin = 0, ymax = y1),
show.legend = F,alpha=0.3,
fill = c("green")) + geom_ribbon(aes(ymin = 0, ymax = y2),
show.legend = F,alpha=0.3,
fill = c("red")) +geom_vline(xintercept=c(0.5), linetype="dotted", size = 1)
1.2图片
2、小结
通过本文你可以学到ggplot的一些画图操作:在图中添加希腊字母、公式
、添加垂直虚线
、用颜色填充面积
、去除默认图例
等。
在生成数据时,你可以学会构造画图所需数据类型
、通过数据求分位数
、使用R语言对一元函数进行求定积分
等操作。
大家有更好的方法以及想法,欢迎评论区留言。
R语言入门——画密度曲线相关推荐
- r语言x c(-1 -2),【软件】R语言入门之向量
"R语言入门开篇,向量(vector)相关知识的介绍" R语言是一款优秀统计学编程语言,本文介绍R语言的几个重要命令,以及R语言中非常重要的一种数据结构-向量(Vector)的相关 ...
- R语言入门4---R语言流程控制
流程控制语句在任何语言中都是非常重要的,通过流程控制语句编程者能够根据业务逻辑在程序中设计合理的循环.分支,实现程序各种各样强大的功能.一般实现任一算法的控制结构都可以分为顺序结构.分支结构.循环 ...
- R语言入门——常用函数50个
R语言函数入门50个基本函数 0引言 1.入门准备操作及函数 1.1R版本介绍以及IDE的选择 1.2IDE及其常用的快捷键 2.空间操作以及纠错函数 2.1 ? .??.help.demo.exam ...
- R语言入门——猜数小游戏
R语言入门--猜数小游戏 题目介绍 使用代码(2种方法) 运行结果 题目介绍 设计一个猜数字的游戏:计算机随机生成一个1~100 之间的整数,然后由用户猜测所产生的随机数.根据用户猜测的情况给出不同提 ...
- R语言入门第一集 R语言、RTools、RStudio的简介、安装与使用
R语言入门第一集!R语言.RTools.RStudio的简介.安装与使用! 一.简介:什么是R语言.RTools.RStudio? R语言 RStudio R 语言的集成开发环境 rtools是什么工 ...
- R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)
R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...
- R语言入门(二)正态性检验与假设检验
R语言入门(二)正态性检验与假设检验 value1 <- c(20.51, 25.56, 20.78, 37.27, 36.26, 25.97, 24.62 )value2 <- c(32 ...
- 《R语言入门与实践》学习笔记四
第四天任务: 完成项目玩扑克牌后1/2,并通过项目学会以下技能: 1)从一个数据集中抽取个别数据值. 2)在一个数据集中改变个别数据的取值. 3)编写逻辑测试程序. 4)使用R的缺失值符号NA. -- ...
- R语言入门1---R语言介绍以及学前注意事项
R语言是从贝尔实验室的S语言演变而来的,基于S语言开发的商业软件Splus,可以方便的编写函数.建立模型,具有良好的扩展性,取得了巨大成功.1995年由新西兰Auckland大学统计系的Robert ...
最新文章
- Java中的Set集合接口实现插入对象不重复的原理
- 大多数Web浏览器中都可以使用PUT,DELETE,HEAD等方法吗?
- C#开发ActiveX网页截图控件
- 用NGUI做一个计时条!
- C语言写出生命游戏什么水平,我也来汇报~~~生命游戏。
- 百分点舆情洞察系统解决方案
- 实对称矩阵的特征值求法_正交矩阵学习小结
- python模块 | 多种操作系统接口—os模块
- golang 如何识别不同语言
- Flutter 开发之 Dart语言 基础
- ceb怎么转换成word_【解决】后缀.ceb文件怎么转换为word文档?
- python中chr的用法_Python chr()用法及代码示例
- 做数据建模有哪些工具是值得推荐的?
- 《 Python程序设计项目案例》—学生成绩(信息)管理系统普通版设计要求及部分参考代码(期末大作业、结课项目)
- python fun函数、求4x4整型数组的主对角线元素的和_求一个4×4的整型二维数组主对角线元素之和...
- 怎么有的帖子发不了啊
- URLDecoder.decode与URLEncoder.encode
- Python 自动发文章到 wordpress
- unity 2d文字跟随主角移动_使用 Unity 粒子系统实现 2D 人物足迹效果
- GitHub上买房攻略开源,一夜之间涨星近千,网友说:正好需要!